-
Notifications
You must be signed in to change notification settings - Fork 130
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 消息,这个消息不需要回复。