eMule协议规范全文[中文版本](7)

2019-01-26 19:10

Message

名称 Protocol Size Type Client ID

TCP

connection bitmap

可变的 NA 一列服务器消息,用换行分隔

特别的消息

1、 版本 – 通常在成功的连接我手中发送 2、 错误 –

3、 警告 – 通常在服务器拒绝连接或者客户端是低ID时发送 4、 emDynIP –

6.2.3 ID改变

服务器发送ID改变的消息,作为对登录请求消息的回应和表示服务器已经接收客户端的连接。消息大小为14或10字节,依赖于发送的可选TCP连接位图(TCP connection bitmap)。

字节大小 默认值 注释 1 0xE3

4 消息大小是以字节为单位,不包括头部和大小的域

1 0x40 OP_IDCHANGE操作码的值

4 NA 关于客户端ID的描述可在1.3节找到

4 0x000000001 当前只有1位(LSB)有意义,设置它为1来标识服务器支持压缩

6.2.4 文件提供

该消息被客户端用来描述可获得的当地文件,让其它客户端下载。如果客户端有文件提供,文件提供消息立即在连接建立之后发送。当客户端共享文件列表发生改变时,该消息也会发送。该消息的另一用法是周期地发送到服务器,保持活动状态。如果服务器支持压缩,文件

31

提供(消息)会被压缩。当用作保持活动状态(没有文件压缩和消息大小很小)时,该消息不被压缩。

名称 Protocol Size Type

File Count Files

单个文件条目格式

下面的表格描述了单个文件条目。在一个文件提供消息中可以有一系列的多个条目。

名称

Hash Code Client ID

Client Port

Tag Count File Tag

File Size Tag 8

字节大小 1 4 1 4 可变的

默认值 0xE3 0x15 NA NA

注释

消息大小是以字节为单位,不包括头部和大小的域

OP_OFFERFILES操作码的值

里面描述的文件数目。无论如何不超过200。服务器也可以为这个数目设置一个相对较低的限制

可选的文件列表,单个条目格式如下所述

字节大小 16 4 2 4

Name 可变的

默认值 NA NA 0x15 NA NA NA

注释

执行在文件内容上的哈希结果(TBD规范)。这个哈希用来唯一的标识文件,忽略不同客户端之间的名称差别

客户端ID,如果客户端有高ID,否则为零

客户端TCP端口号,如果客户端是低ID则为零

该域以下的标签的数目

(必选的)文件名称。这个标签是字符串标签,标签名称是值为0x1的整数

(必选的)文件大小,字节单位。这个标签是整型标签,标签名称是值为0x2的整数

32

File Tag

Type 可变的

NA NA NA (可选的)文件类型。以下之一:“Audio”、“Video”、“Image”、“Pro”或“Doc”。这个标签是字符串标签,标签名称是值为0x3的整数

(可选的)文件扩展名,小写。例如,“zip”、“exe”。这个标签是字符串标签,标签名称是值为0x4的整数

(可选的)如果文件是mp3,歌曲播放时间。该标签是字符串标签,标签名称是“length”的字符串 File Format 可变的 Tag

Media

Length Tag 可变的

Media

Bitrate Tag

Media

Codec Tag

名称 Protocol Size Type

名称 Protocol

TBD NA (可选的)如果文件是mp3,编码位率。该标签是整型标签,标签名称是“bitrate” 字符串

可变的 NA (可选的,从不发送)如果文件是影片,编码解码器。该标签是字符串标签,标签名

称是“codec”的字符串

6.2.5 获得服务器列表

该消息在成功握手完成之后立即从客户端发送到服务器。当客户端被配置通过请求它当前服务器来扩大它的eMule服务器列表时,发送该消息。消息大小是6字节。

字节大小 默认值 注释 1 0xE3

4 消息大小是以字节为单位,不包括头部和大小的域

1 0x14 OP_SERVERSTATUS操作码的值

6.2.6 服务器状态

从服务器发送到客户端。该消息包含关于服务器上用户和文件的当前数目的信息。消息中的信息不但存储在客户端也表现出给用户看。该消息大小14字节。

字节大小 默认值 注释 1

0xE3

33

Size Type

User Count

File Count

4 1 4 4

0x34 NA NA

消息大小是以字节为单位,不包括头部和大小的域

当前登录到服务器的用户数目

服务器知道的文件数目

6.2.7 服务器列表

从服务器发送到客户端。该消息包含关于用另外的eMule服务器来扩展客户端服务器列表的信息。消息大小可变的(根据发送的服务器数目)。

名称 Protocol Size Type

Entry Count

Server entries

6.2.8 服务器身份证明

从服务器发送到客户端。包含服务器哈希(TBD),服务器IP地址和TCP端口(当通过代理连接时很有用处),还有服务器描述信息。消息大小可变的。

名称

字节大小

默认值

注释

字节大小 1 4 1 1

(Entry Count) * 6

默认值 0xE3 0x32 NA NA

注释

消息大小是以字节为单位,不包括头部和大小的域

OP_SERVERLIST操作码的值

该消息中描述的服务器数目

服务器描述符条目,每个条目大小是6字节,包含4字节IP地址和2字节TCP端口

34

Protocol Size Type Hash

Server IP

Server Port

Tag Count Server Tag

Server

Description Tag

1 4 1 16 4 4 4

Name 可变的

可变的

0xE3 0x41 NA NA NA NA NA NA

消息大小是以字节为单位,不包括头部和大小的域

OP_SERVERIDENT操作码的值

服务器的GUID(好像用来调试用)

服务器IP地址

服务器监听的TCP端口

在消息末处标签的数目

服务器名称。该标签是字符串标签,标签名称是值为0x1的整数

服务器描述字符串。该标签是字符串标签,标签名称是值为0xB的整数

6.2.9 搜索请求

从客户端发送到服务器。该消息用来通过用户的搜索字符串搜索文件。消息大小是可变的。搜索字符串可以包含布尔条件”AND”、”OR”、”NOT”。用户可以指定需要的文件的类型和大小,也可以设置一个有效的阈值(例如显示至少来自5个其它客户端的有效结果)。

名称 Protocol Size Type Parsed

字节大小 1 4 1

search 可变的

默认值 注释 0xE3 0x16 NA

消息大小是以字节为单位,不包括头部和大小的域

OP_SEARCHREQUEST操作码的值

解析搜索字符串格式,下面描述

35


eMule协议规范全文[中文版本](7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:都可coco奶茶加盟 抢占饮品市场份额吸金赚不停

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: