2010-10-23 143 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