我聽說存在二進制通信。我是java的初學者,我使用純文本,我從java.sun.com學習套接字教程。所以我想知道二進制插件有什麼好處?爲什麼我應該使用它?你可以建議關於二進制通信的資源?二進制與非二進制強化java
3
A
回答
1
如果您有特定的原因這樣做,您只能直接在套接字上使用二進制數據 - 例如極高的性能。如果你有這樣一個原因,你會知道它,並通過套接字直接使用二進制數據並不能保證高性能。
在Java中提供了許多抽象和圖書館,以方便網絡通信,同時保護程序從勞動密集型和容易出錯的工作在低級別:
只是一些例子。
2
通過套接字發送二進制數據顯然會在帶寬使用方面更有效率。但是,這也增加了必須在套接字上封送和解組數據的複雜性。在性能不重要的情況下,發送文本數據(XML,JSON等)更直觀,更易於在許多情況下進行開發。
3
我建議你看看Object stream
,它允許通過Socket連接從一個Java VM到另一個Java VM的簡單二進制傳遞(如果需要,通過網絡)Objects
。
Java Sun教程是一個很好的開始資源。請參閱Basic I/O section。
1
正如其他答案中提到的,除非絕對必要,否則應該避免原始套接字通信。我建議將XML作爲通信數據格式而不是對象,因爲它允許您根據需要輕鬆地與運行其他語言的客戶端進行通信,並且更易於調試。 XStream是一個偉大的庫,用於以最少的支持代碼方便對象< - > xml轉換。
+0
謝謝你的建議! – 2010-01-28 14:46:12
相關問題
- 1. 十進制到二進制(二進制)
- 2. 與二進制XML
- 3. 二進制在Java腳本十進制
- 4. 十進制到二進制Java方法
- 5. java二進制到十進制
- 6. 二進制到十進制 - java
- 7. 十進制到二進制Java
- 8. 二進制INT二進制字符
- 9. 二進制與非門 - 布爾代數
- 10. 非二進制(十六進制)字符收到了TCP與Python
- 11. 二進制到十進制
- 12. 二進制到四進制
- 13. iOS二進制本地化
- 14. 二郎二進制優化知整數
- 15. 二進制序列化與使用WCF
- 16. 如何強制qtcreator創建非通用二進制文件
- 17. RemoveMin在二進制堆Java
- 18. Java二進制翻譯?
- 19. Java SE二進制崩潰
- 20. java二進制計數
- 21. 二進制搜索CompareTo Java
- 22. java二進制搜索arraylist
- 23. Java二進制翻譯器
- 24. Java二進制搜索
- 25. Java二進制到整數
- 26. Java:二進制搜索
- 27. MinGW二進制3x大小與MSVC二進制
- 28. MySQL比較二進制排序與二進制字符串
- 29. MySQL的「二進制」與「字符的字符集的二進制」
- 30. 如何將數字(十進制)轉換爲二進制(二進制)數字和從二進制到十進制?
更何況,更容易調試。因爲你可以嗅探數據包,而且內容是人類可讀的。 – Matt 2010-01-28 00:44:46
這絕對是真的。 – 2010-01-28 00:47:29