2010-10-23 108 views
1

我有一个奇怪的情况,一直让我困惑数周。我的项目Textual是Mac OS X的IRC客户端,除了一个问题外,它工作得很好。通过DCC协议的DCC发送消息无法正常工作。出于某种原因,为了建立连接而发送的IP地址的第一部分总是被切断。例如,发送的正确信息将是“DCC SEND file.png 72.218.77.160 1097 4699”,但一旦发送被视为“DCC SEND file.png .218.77.160 1097 4699”Unicode字符破坏文本

我已将此隔离到Unicode字符0x01,与消息一起发送以区别于标准消息。如果删除此字符,则不会发生剥离。我根本无法弄清楚为什么这样做。这可能是套接字的结果。不是我那个强大的领域。如果有人有时间来帮助它,将不胜感激。

回答

-1

可能是BOM(字节顺序标记)。你使用哪种编程语言?

根据您要发送的统一代码风格,某些元字符可能会发送到另一端。一个好的经验法则是不要将任何Unicode的味道发送到无法读取Unicode的端点(有些人在UTF-8的情况下妥协,这与英文文本的ISO-8859-1几乎相同,但我不是一个大粉丝)。

0

经过更多的调查,这似乎是一个服务器端问题,而不是客户端本身的实际问题。

0

A DCC SEND消息不应该包含格式化为虚线四的IP地址 - 它应该格式化为无符号的32位十进制数。对于地址72.218.77.160,消息应该是:

DCC SEND file.png 1222266272 1097 4699