我正在编写一个需要在多台计算机上运行的软件(一次3-4个),并显示相同的数据。可以从每台机器修改数据,并立即将更改发送到其他机器。
没有中央服务器,但所有机器都很友好且位于同一本地网络上。
这里最重要的事情是:(1)低延迟和(2)可串行化的消息(总是能够知道哪个是第一个) - 基本上我是什么我正在寻找一个聊天室,但是对于节目的消息。什么是最好的网络协议?
答案 0 :(得分:1)
在第四层中,您将使用TCP来可靠地传递消息。如果你说的是3-4台应该没问题的机器。在TCP之上,您可以使用自己的应用程序特定协议。我不知道XMPP是否会让您在分散的环境中工作。
您需要解决的一个问题是所有人都以相同的顺序看到这些消息。为此,您可以使用向量时钟算法或某种方式来解决冲突,以防两个消息同时发送。
在局域网中,任何协议都应该适合低延迟。
关于您需要的连接数量,这取决于您的设计。一直在想少数同行:
您必须考虑的其他事项:集团管理。你怎么知道一个同伴离开了这个小组或一个新的同伴加入了这个小组?这是另一个考虑因素。