我即将通过互联网上的 tcp/ip 实现服务器/客户端通信。服务器和客户端在尝试同步它们的状态时会有点闲聊。
client: sends state
server: check state and request differences
client: sends 1 element
server: sends ack/nak
client: sends 1 element
server: sends ack/nak
.
.
.
etc.
实现它的最佳方法是什么?我应该使用原始套接字吗?我应该使用 2 个连接,每个方向一个吗?我应该使用框架吗?任何想法表示赞赏。
谢谢
编辑:当优先考虑大负载(千兆字节的数据)、稳定性和易于实现时,实现这一点的最佳方法是什么?
.. 顺便说一句,客户端和服务器之间没有区别。他们可以随时转换角色,成为建立联系的人。
使用处理重新连接等的框架可能会很好。
最佳答案
如果客户端和服务器都将是 Java 程序,请考虑使用 RMI 的替代方案:
The Java Remote Method Invocation (RMI) system allows an object running in one Java virtual machine to invoke methods on an object running in another Java virtual machine. RMI provides for remote communication between programs written in the Java programming language.
这比尝试在套接字之上实现您自己的协议(protocol)要简单。
关于java通讯协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8460176/