我有一个奇怪的情况让我困惑了好几个星期。我的项目Textual是Mac OS X的IRC客户端。除了一个问题外,它的工作原理很好。通过DCC协议的DCC SEND消息无法正常工作。由于某种原因,将为其建立连接的IP地址的第一部分始终被切断。例如,发送的正确消息为“DCC SEND file.png 72.218.77.160 1097 4699”,但一旦发送,则视为“DCC SEND file.png .218.77.160 1097 4699”
我已将此字符与Unicode字符0x01隔离,该字符与消息一起发送,以区别于标准消息。如果删除此字符,则不会发生剥离。我根本无法弄清楚为什么会这样做。它可能是套接字的结果。不是那个强大的领域。如果有人有时间提供帮助,我们将不胜感激。
答案 0 :(得分:0)
经过更多调查后,这似乎是服务器端问题,而不是客户端本身的实际问题。
答案 1 :(得分:0)
DCC SEND
消息不应包含格式化为点分四的IP地址 - 它应格式化为无符号32位十进制数。对于地址72.218.77.160
,消息应为:
DCC SEND file.png 1222266272 1097 4699
答案 2 :(得分:-1)
可以是BOM(字节顺序标记)。你使用哪种编程语言?
根据您发送的Unicode风格,某些元字符可能会发送到另一方。一个好的经验法则是永远不要将任何类型的Unicode发送到不能读取Unicode的端点(有些人在UTF-8的情况下妥协,这与英语文本的ISO-8859-1几乎相同,但是我不是一个大粉丝。