我听说存在二进制通信。我是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. 二进制与非门 - 布尔代数
- 6. 非二进制(十六进制)字符收到了TCP与Python
- 7. 二进制到十进制
- 8. 二进制序列化与使用WCF
- 9. 如何强制qtcreator创建非通用二进制文件
- 10. MySQL比较二进制排序与二进制字符串
- 11. MySQL的“二进制”与“字符的字符集的二进制”
- 12. Java SE二进制崩溃
- 13. Java二进制翻译?
- 14. java二进制搜索arraylist
- 15. Java二进制翻译器
- 16. Java二进制搜索
- 17. java二进制计数
- 18. Java:二进制搜索
- 19. Java二进制到整数
- 20. 二进制搜索CompareTo Java
- 21. 如何将数字(十进制)转换为二进制(二进制)数字和从二进制到十进制?
- 22. 二进制数
- 23. 从二进制
- 24. 二进制库
- 25. 与二进制搜索
- 26. StringIO与二进制文件?
- 27. 二郎二进制级联
- 28. 针对散列ID的非二进制的MySQL二进制文件
- 29. 十六进制,八进制,二进制到十进制(C++)
- 30. 二进制内容
更何况,更容易调试。因为你可以嗅探数据包,而且内容是人类可读的。 – Matt 2010-01-28 00:44:46
这绝对是真的。 – 2010-01-28 00:47:29