Skip to content
LI Daobing edited this page May 19, 2019 · 8 revisions

under construction

指令

指令号的低位(0-255)是实际的指令,高位是一些option。

英文代号 编号 解释
ENTRY 0x1 上线通知
ANS_ENTRY 0x3 对上线通知的答复
SEND_SIGN 0xFC 发送签名
SEND_ICON 0xFE 发送自定义头像
SENDMSG 0x20 发送消息
RECVMSG 0x21 收到消息
ABSENCE 0x4 信息变更

指令的基础知识参见:通信协议

上线

上线后客户端A会做两件事情,一是给局域网所有机器发送 ENTRY 消息(参见Command::BroadCast),另外一个是给配置中的所有机器发送 ENTRY 消息(参见Command::DailUp)。

另外一侧的iptux客户端(客户端B),会在收到 ENTRY 通知后,答复 ANSENTRY 消息。客户端B如果发现A是 iptux 兼容的客户端,会额外尝试发送签名(SEND_SIGN), 头像(SEND_ICON), 以及个性大图(通过 TCP 发送, TODO)。

ENTRY(0x1)

范例: "1_iptux 0.8.0:2:lidaobing:hostname.local:65793:nickname\x00\x00icon-tux.png\x00utf-8\x00",其中指令号为 65793(0x10101),attach部分(nickname)为用户昵称。

nickname 之后为扩展字段,以 \x00 分隔,分别为 群组(此处为空),头像(此处为 icon-tux.png), 以及编码(此处为 utf-8)

ANS_ENTRY(0x3)

范例: "1_iptux 0.8.0:4:lidaobing:hostname.local:259:nickname\x00\x00icon-tux.png\x00utf-8\x00",其中指令号为 259(0x103),attach部分(nickname)为用户昵称。

扩展字段跟 ENTRY 一致。

SEND_SIGN(0xFC)

范例:"1_iptux 0.8.0:5:lidaobing:hostname.local:252:smartboy\x00", attach 部分(smartboy)为用户签名。

SEND_ICON(0xFE)

TODO

消息发送

发送消息是走 SENDMSG 消息,对方接收到消息后会送 RECVMSG 。

修改信息

修改昵称头像后会发送 ABSENCE 消息,这个消息不需要回复。