您的位置:首页 > 其它

eMule协议规范 附录 A - 消息编码 客户端服务器UDP消息

2008-10-13 01:05 435 查看
译自 Yoram Kulbak and Danny Bickson 《The eMule Protocol
Specification》

翻译:lzcx

QQ:402722857

EMail: lzcx_cn@yahoo.com.cn

供学习用,转载请注明出处

6.3 客户端服务器UDP消息
本章描述了在服务器和客户端之间用UDP传送的消息。UDP消息头部不包含消息的大小,因为它可以从UDPL3头部推论出来。大部分的消息都是很小、固定大小的,周期性地发送到客户端服务器列表中的服务器上。

6.3.1获取源
从客户端发送到服务器,为文件(其它客户端拥有这文件)请求源。这个消息会每秒周期发送,为那些只有少数源的文件。

名称字节大小默认值注释
Protocol1
0xE3
Type1
0x9A
OP_GLOBGETSOURCES操作码的值
File ID ListNA
NA
文件ID(哈希)(每个16字节长)列表,这些ID一个个排序,没有优先的。
6.3.2 发现的源
从服务器发送到客户端,作为对UDP获取源消息的回应。该消息只在当服务器有请求文件的源时才发送。

名称字节大小默认值注释
Protocol1
0xE3
Type1
0x9B
OP_GLOBFOUNDSOURCES操作码的值
File source listNA
NA
下面描述的文件源的列表。
源列表项格式
下表包含了一个文件的源。

名称字节大小默认值注释
File ID16
NA
找到源的文件的ID
Sources Count1
NA
报告的源的个数
List of sourcesNA
NA
源的列表,和6.2.11节的TCP获得源消息的格式一样
6.3.3 状态请求
该消息是每几秒发送到服务器的状态请求。这个消息包含随机4字节询问,这个询问应该由服务器反应。消息长度是6字节。这个消息是客户端服务器UDP保持连接方案(见3.1节)的一部分。

名称字节大小默认值注释
Protocol1
0xE3
Type1
0x96
OP_GLOBSERVSTATREQ操作码的值
Challenge4
NA
发送到服务器的无符号整数的询问,用来回应验证(在客户端相对应的变量叫做”time”)
6.3.4 状态回应
服务器回应消息,针对客户端UDP状态请求消息。包含几个服务器信息项,注意,大部分的项是可选的。

名称字节大小默认值注释
Protocol1
0xE3
Type1
0x97
OP_GLOBSERVSTATRES操作码的值
Challenge4
NA
无符号整数。可以作为客户端发送的询问的回应,或者其它不同的数值
User Count4
NA
可选的。当前登录到服务器中的用户数目
Files count4
NA
可选的。服务器数据库中的文件数目
Soft files limit4
NA
可选的。无符号整数,服务器软件文件限制
Hard files limit4
NA
可选的。无符号整数,服务器硬件文件限制
UDP flags4
NA
可选的。服务器UDP标识。定义了两种不同的标识:0x01指出服务器支持获得源消息。0x02指出服务器支持扩展的获得文件消息
6.3.5 搜索请求
当客户端配置成用UDP搜索时,发送该消息到客户端列表中的服务器上。该消息由两个可选的操作码(0x98或0x92),后者指出服务器的以后(加强)版本。客户端根据服务器发送过来的UDP状态回应消息(6.3.4节)中的UDP标识来决定用哪个操作码。为了发送加强的操作码,服务器必须打开0x02位。UDP标识也可以从配置文件中载入。

名称字节大小默认值注释
Protocol1
0xE3
Type1
0x98或0x92
分别是OP_GLOBSEARCHREQ或OP_GLOBSEARCHREQ2操作码的值
Search request parameters可变的
NA
与在客户端服务器TCP交流一章中的搜索请求消息参数,见6.2.9,是一样的。
6.3.6 搜索回应
搜索回应消息从服务器发送到客户端。该消息发送来回应搜索消息中的两个操作码。该消息的格式与TCP搜索结果消息非常相似,虽然结果被折叠没有结果个数。请阅读描述TCP搜索结果消息的章节,获得更多的关于该消息不同的字段(6.2.10节)。

名称字节大小默认值注释
Protocol1
0xE3
Type1
0x99
OP_GLOBSEARCHRES操作码的值
Result listsNA
NA
结果列表(没有个数),如6.2.10所述
6.3.7 服务器描述请求
每隔几秒发送到服务器。没有包含进有效负载。是UDP ping 策略一部分。

名称字节大小默认值注释
Protocol1
0xE3
Type1
0x99
OP_SERVER_DESC_REQ操作码的值
6.3.8 服务器描述回应
从服务器发送到客户端,作为对客户端的服务器描述请求的回应。包含名称和回应的服务器的描述。该消息是可变长度的。

名称字节大小默认值注释
Protocol1
0xE3
Type1
0x99
OP_SERVER_DESC_RES操作码的值
NameNA
NA
服务器的名称,以2字节长度编码的字符串,字符数组值格式
DescriptionNA
NA
服务器的描述,以2字节长度编码的字符串,字符数组值格式
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=640307
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: