java通信协议

时间:2011-12-10 21:50:49

标签: java sockets tcp ip

我即将通过互联网上的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个连接,每个方向一个吗?我应该使用框架吗?任何想法都表示赞赏。

由于

编辑:当大负载(千兆字节数据),稳定性和易于实现优先时,实现这一目标的最佳方法是什么?

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

使用处理重新连接等的框架可能会很好。

2 个答案:

答案 0 :(得分:1)

如果客户端和服务器都是Java程序,请考虑使用RMI的替代方法:

  

Java远程方法调用(RMI)系统允许在一个Java虚拟机中运行的对象调用另一个Java虚拟机中运行的对象上的方法。 RMI提供了用Java编程语言编写的程序之间的远程通信。

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

答案 1 :(得分:1)

  

当大负载(千兆字节)时,实现此目的的最佳方法是什么?   数据),稳定性和易于实施的优先次序?

从我的角度来看,这些目标是使用稳定框架而不是实现自定义解决方案的提示。

查看Java Web服务(您可以通过Googling找到大量示例)并让客户端同时公开服务器接口。
我会推荐RESTful而不是SOAP服务。