java通信协议

java通信协议,java,sockets,tcp,ip,Java,Sockets,Tcp,Ip,我将通过internet上的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. 实现这一点的最佳方式是什么?我应该使用原始插座吗?我

我将通过internet上的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.
实现这一点的最佳方式是什么?我应该使用原始插座吗?我应该使用两个接头,每个方向一个接头吗?我应该使用框架吗?欢迎提出任何意见

谢谢

编辑:当大负载(千兆字节的数据)、稳定性和易实现性被优先考虑时,实现这一点的最佳方式是什么

。。顺便说一下,客户端和服务器之间没有区别。他们可以随时转换角色,成为建立联系的人


<> P> >如果使用客户端和服务器都是java程序,则考虑使用替代方案:

,可以很好地使用处理重连接的框架。 Java远程方法调用(RMI)系统允许在一个Java虚拟机中运行的对象调用在另一个Java虚拟机中运行的对象上的方法。RMI提供了用Java编程语言编写的程序之间的远程通信

这比在套接字上实现自己的协议更简单

当大负载(千兆字节)时,实现这一点的最佳方法是什么 数据)、稳定性和易实施性是否得到优先考虑

在我看来,这些目标是使用稳定框架而不是实现定制解决方案的提示

查看Java web服务(您可以通过谷歌搜索找到大量示例),并让两个客户端同时公开服务器接口。

我建议使用RESTful而不是SOAP服务

“最好”是为了什么?易于实施?在某些目标平台上的性能?可伸缩性?请用更多信息更新你的问题。我喜欢抽象,但我担心设置太复杂了。它必须通过互联网连接在多个平台上运行。