-
Notifications
You must be signed in to change notification settings - Fork 137
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)。
范例: "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)
范例: "1_iptux 0.8.0:4:lidaobing:hostname.local:259:nickname\x00\x00icon-tux.png\x00utf-8\x00",其中指令号为 259(0x103),attach部分(nickname)为用户昵称。
扩展字段跟 ENTRY 一致。
范例:"1_iptux 0.8.0:5:lidaobing:hostname.local:252:smartboy\x00", attach 部分(smartboy)为用户签名。
TODO
发送消息是走 SENDMSG 消息,对方接收到消息后会送 RECVMSG 。
修改昵称头像后会发送 ABSENCE 消息,这个消息不需要回复。