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

译自 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 获取源
从客户端发送到服务器,为文件(其它客户端拥有这文件)请求源。这个消息会每秒周期发送,为那些只有少数源的文件。

名称
字节大小
默认值
注释
Protocol
1
0xE3
 
Type
1
0x9A
OP_GLOBGETSOURCES操作码的值
File ID List
NA
NA
文件ID(哈希)(每个16字节长)列表,这些ID一个个排序,没有优先的。

 
6.3.2 发现的源
从服务器发送到客户端,作为对UDP获取源消息的回应。该消息只在当服务器有请求文件的源时才发送。

名称
字节大小
默认值
注释
Protocol
1
0xE3
 
Type
1
0x9B
OP_GLOBFOUNDSOURCES操作码的值
File source list
NA
NA
下面描述的文件源的列表。

 
源列表项格式
下表包含了一个文件的源。

名称
字节大小
默认值
注释
File ID
16
NA
找到源的文件的ID
Sources Count
1
NA
报告的源的个数
List of sources
NA
NA
源的列表,和6.2.11节的TCP获得源消息的格式一样

 
6.3.3 状态请求
该消息是每几秒发送到服务器的状态请求。这个消息包含随机4字节询问,这个询问应该由服务器反应。消息长度是6字节。这个消息是客户端服务器UDP保持连接方案(见3.1节)的一部分。

名称
字节大小
默认值
注释
Protocol
1
0xE3
 
Type
1
0x96
OP_GLOBSERVSTATREQ操作码的值
Challenge
4
NA
发送到服务器的无符号整数的询问,用来回应验证(在客户端相对应的变量叫做”time”)

 
6.3.4 状态回应
服务器回应消息,针对客户端UDP状态请求消息。包含几个服务器信息项,注意,大部分的项是可选的。

名称
字节大小
默认值
注释
Protocol
1
0xE3
 
Type
1
0x97
OP_GLOBSERVSTATRES操作码的值
Challenge
4
NA
无符号整数。可以作为客户端发送的询问的回应,或者其它不同的数值
User Count
4
NA
可选的。当前登录到服务器中的用户数目
Files count
4
NA
可选的。服务器数据库中的文件数目
Soft files limit
4
NA
可选的。无符号整数,服务器软件文件限制
Hard files limit
4
NA
可选的。无符号整数,服务器硬件文件限制
UDP flags
4
NA
可选的。服务器UDP标识。定义了两种不同的标识:0x01指出服务器支持获得源消息。0x02指出服务器支持扩展的获得文件消息

 
6.3.5 搜索请求
当客户端配置成用UDP搜索时,发送该消息到客户端列表中的服务器上。该消息由两个可选的操作码(0x98或0x92),后者指出服务器的以后(加强)版本。客户端根据服务器发送过来的UDP状态回应消息(6.3.4节)中的UDP标识来决定用哪个操作码。为了发送加强的操作码,服务器必须打开0x02位。UDP标识也可以从配置文件中载入。

名称
字节大小
默认值
注释
Protocol
1
0xE3
 
Type
1
0x98或0x92
分别是OP_GLOBSEARCHREQ或OP_GLOBSEARCHREQ2操作码的值
Search request parameters
可变的
NA
与在客户端服务器TCP交流一章中的搜索请求消息参数,见6.2.9,是一样的。

 
6.3.6 搜索回应
搜索回应消息从服务器发送到客户端。该消息发送来回应搜索消息中的两个操作码。该消息的格式与TCP搜索结果消息非常相似,虽然结果被折叠没有结果个数。请阅读描述TCP搜索结果消息的章节,获得更多的关于该消息不同的字段(6.2.10节)。

名称
字节大小
默认值
注释
Protocol
1
0xE3
 
Type
1
0x99
OP_GLOBSEARCHRES操作码的值
Result lists
NA
NA
结果列表(没有个数),如6.2.10所述

 
6.3.7 服务器描述请求
每隔几秒发送到服务器。没有包含进有效负载。是UDP ping 策略一部分。

名称
字节大小
默认值
注释
Protocol
1
0xE3
 
Type
1
0x99
OP_SERVER_DESC_REQ操作码的值

 
6.3.8 服务器描述回应
从服务器发送到客户端,作为对客户端的服务器描述请求的回应。包含名称和回应的服务器的描述。该消息是可变长度的。

名称
字节大小
默认值
注释
Protocol
1
0xE3
 
Type
1
0x99
OP_SERVER_DESC_RES操作码的值
Name
NA
NA
服务器的名称,以2字节长度编码的字符串,字符数组值格式
Description
NA
NA
服务器的描述,以2字节长度编码的字符串,字符数组值格式

 


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=640307

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值