修改文件时保持客户端更新的协议

时间:2015-01-15 09:51:53

标签: java client-server data-sharing

我有一个Java客户端/服务器应用程序,我与一个客户端共享一个文件(tsv文件),该客户端可以在他的UI中查看和修改它,并将更新后的版本发送回服务器。我这样做是使用TCP套接字。

现在我想让它可供多个客户使用。为了达到这个目的,我想使用以下"协议" : - 每次在客户端上进行修改时,他都会向服务器发送修改后的记录,其中包含有关修改的一些信息(编辑,添加,删除)。服务器接收此信息并将修改发送给所有连接的客户端。 - 然后我让客户"听"在单独的线程中的套接字输入流上的服务器,等待更新通知。

我的问题是套接字中的通信不适用于该设计。我不知道它来自哪里,当我调试我的代码a"收到"方法是阻塞的。我想这可能是因为在客户端套接字方面我在同一个inputStream上的两个不同线程中接收消息,这样做有问题吗? 否则我应该为每个客户打开2个插槽,一个用于监听更新,另一个用于常规用途吗?

如果您对我应该使用的协议有任何其他建议,我将很高兴听到他们:)

1 个答案:

答案 0 :(得分:0)

我认为,您可以使用Websockets来实现此目标。