自定义协议
A. c#socket 怎么自定义协议
基于C#的通信协议封包(附代码)
接上一篇《基于.NET技术的监控系统应用分析》中所描述的数据通信协议设计,我们来看一下在C#中是怎么对自定义协议进行封包的?我们知道基于流的数据协议的特点:发送和接收到的数据都是连续的流。每次网络I/O操作的流长度不确定,也就是无法知道每次接收到的数据是一个完整的数据包。同样,主机发送一个数据包也会根据网络的实际情况执行若干次。所以我们对这类消息的编解码过程需要进行一个统一的封装。
重新回顾一下每个消息的结构:消息头 + 消息体。每次先发送出去的是消息头,然后是消息体。消息头里描述了这个数据包的类型,长度,序列号等信息。消息头的长度是固定的,消息体的长度是根据每个消息类型会有所的区别。
http://www.cnblogs.com/wildman/archive/2009/07/06/1517629.html
B. 如何增加自定义协议 protocol
如何实现IE自定义协议 QQ对IE地址栏的东西做了监控。而且可以发现输入地址确定之后他就启动了timwp.exe这个程序。 方法一: 也就是QQ和PPlive所采用的方法,在注册表里面添加两种类型的注册。 QQ的: Windows Registry Editor Version
C. 怎么自定义协议
1、打开控制面板,依次进入“网络和Internet”-“网络连接”-右击“本地连接”,在弹出的属性对话框中双击“Internet协议版本6(Tcp/IP),在其属性框中选择手动,输入IPv6地址“3FFE:FFFF:7654:FEDA:1245:BA98:3210:4562”(由于IPv6处于测试阶段,因此可以自由输入确定其地址)。2、按“Win+R”打开运行对话框。输入CMD,在弹出的MSDOS窗口中输入“ipconfig”命令来查看本地的所有IP地址配置情况。3、配置ISATAP隧道,完成后,打开浏览器,输入网址“/”进行IPv6的测试,在页面上,如果能够看到一只跳舞的小老虎,则说明您以IPv6访问该网页,
D. 怎么自定义应用层协议
首先确定你所使用的通信方式,UPD或者TCP,然后根据定义协议,其实也就是一种通信方式,你是做上位机软件吗?还是应用层面的。
E. 如何实现自定义的URL协议
如何实现IE自定义协议
QQ对IE地址栏的东西做了监控。而且可以发现输入地址确定之后他就启动了timwp.exe这个程序。
方法一: 也就是QQ和PPlive所采用的方法,在注册表里面添加两种类型的注册。
QQ的:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\TENCENT]
@="TencentProtocol"
"URL Protocol"="C:\\Program Files\\Tencent\\QQ\\Timwp.exe"
[HKEY_CLASSES_ROOT\TENCENT\DefaultIcon]
@="C:\\Program Files\\Tencent\\QQ\\Timwp.exe,1"
[HKEY_CLASSES_ROOT\TENCENT\shell]
[HKEY_CLASSES_ROOT\TENCENT\shell\open]
[HKEY_CLASSES_ROOT\TENCENT\shell\open\command]
@="\"C:\\Program Files\\Tencent\\QQ\\Timwp.exe\" \"%1\""
PPlive的:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Synacast]
@="URL:synacast Protocol"
"Version"="1.5.38"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\Synacast\DefaultIcon]
@="C:\\Program Files\\PPLive\\PPLive.exe"
[HKEY_CLASSES_ROOT\Synacast\Shell]
[HKEY_CLASSES_ROOT\Synacast\Shell\Open]
[HKEY_CLASSES_ROOT\Synacast\Shell\Open\Command]
@="C:\\Program Files\\PPLive\\PPLive.exe \"%1\""
通过多方查找终于发现是注册表这两项在起作用,原来只要在注册表里象添加文件扩展名一样,添加两个Synacast和TENCENT扩展名来,IE就会自动查找到这里来调用相应的程序。IE果然和windows系统内核整合起来了!原来注册表扩展名项还有这种作用,自己见识太少了,这种方法实现IE地址的自定义估计是最简单的了。
方法二:一开始不知道方法一的时候,在网上找了很多可以实现这种功能的代码,采用BHO(Browser Helper Object,浏览器辅助对象)或者IURLSearchHook接口 来做到。也就是通常所说的IE插件了,我这里统称为方法二。如果不知道什么叫做BHO和IURLSearchHook的就去搜索一下吧,最近流氓插件很火,所以这个技术也有多人提到,借助IURLSearchHook还可以实现中文实名上网等功能,不过那些臭名昭著的流氓软件可都不是这样子坐的他更多的精力是放到防止别人卸载那边去了。
因为我没有编写过ATL或者COM方面的程序,所以也就借着这个机会写了个IURLSearchHook的实现,以后碰到IE插件编程,ATL编程,COM编程,Shell接口编程的时候也好能够玩一玩,好像shell接口编程还是有很多有意思东西的。
F. 一个js方法里调用两个自定义协议,但是只能调用到一个,求大神解答
首先,不明白这个定时器的作用是什么,其次可以尝试一下,点击666的时候,直接触发两个协议的点击事件可以吗?
G. 如何让IE支持自定义协议..
这可能是您需要的答案:
具体就是在HKEY_CLASSES_ROOT按照下面的样子建立各个项目:
HKEY_CLASSES_ROOT
CustomProtocol
协议的名称,版比如电驴权的就是ed2k
(Default) = "URL:Custom Protocol" 协议显示的名称,随便写写
URL Protocol = "" 这里可以写下协议的描述什么的,否则就为空吧
DefaultIcon
(Default) = "CustomApp.exe" 默认图标,一般都是CustomApp的名字
shell
open
command
(Default) = "C:\CustomApp.exe" "%1" CustomApp的全路径名
这样注册下就ok了,当用户点击网站上那些以CustomProtocol开头的链接的时候,系统就会调用CustomApp,并且把完整的链接作为参数传给CustomApp。
H. 设备间的无线433mhz通信都是自定义协议吗
433HMz自组网,兄台搞笑了,做了3年的433M都没发现什么好的协议,要求自组网还是用zigbee吧,国外有几家的协议还行。433M一般就直连、透传,够用了
I. 找一个c++自定义协议的通信软件
http://hi..com/2012_star/blog/item/d074c0d9eec0222a5982dd9a.html 这是自定义协议的
附加命令的识别在这个blog也有