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

628mspwn  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(221)

我有一个java客户机/服务器应用程序,其中我与一个客户机共享一个文件(tsv文件),这个客户机可以在他的ui中查看和修改它,并将更新的版本发送回服务器。我是用tcp套接字来实现的。
现在我想让多个客户端都可以使用它。为了实现这一点,我希望使用以下“协议”:-每次对客户机进行修改时,他都会向服务器发送修改后的记录以及有关修改的一些信息(编辑、添加、删除)。服务器接收此消息并将修改发送到所有连接的客户端。-然后,我让客户机在一个单独的线程中“监听”socket inputstream上的服务器,等待更新通知。
我的问题是sockets中的通信不符合这种设计。我不知道它来自哪里,当我调试代码时,一个“receive”方法被阻塞了。我认为这可能是因为在客户端套接字端,我在同一个inputstream上的两个不同线程中接收消息,这样做有问题吗?否则我应该为每个客户机打开两个套接字,一个用于侦听更新,另一个用于常规使用?
如果您对我应该使用的协议有任何其他建议,我将很高兴听到:)

i5desfxk

i5desfxk1#

我认为,您可以使用websockets来实现这一点。

相关问题