我有一個應用程序在Eclipse中編寫的Java和應用程序在C#中編寫的Visual Studio中。我有他們之間的tcp連接。通過tcp發送接受錯誤的字節
我的項目發送一條ID消息。直到現在,發送的消息都運行良好。它在Visual Studio中向我展示了它發送的ID號爲120,但是當我在eclipse中讀取時,它讀取爲-136。正如我所說,上週工作得很好(我沒有使用它一個星期,突然它現在不工作)。 這是爲什麼? 我不知道它是否相關,但136 + 120 = 256. 如果我發送125它得到-131(每發送給256)。 請幫助我明天。謝謝。
你如何發送這些ID?在二進制形式或文本形式?如果使用二進制形式,那麼可能一方發送*無符號* 8位值,而另一方讀取*有符號* 8位值。 – dlask
Java將8位字節解釋爲負數 - 這是故意用這種方式設計的,實際上發現它是無用的。將字節值轉換爲int並使用它。 –