我想建立一个三方沟通系统,每个政党都拥有平等的权利,并有两个沟通渠道给他的伙伴 该程序是分散的,每台机器运行相同的代码,其中有一个包含三个IP地址的列表,每个代表一台机器。对于每台计算机,合作伙伴的IP地址通过查看自己的IP地址并使用列表中的其他两个来确定。
现在没有预定的机器正在打开的顺序,有没有办法控制TCP通信,除了设置类似的东西 '如果您要与之通话的IP地址高于您自己的IP地址,请连接到服务器,否则您就是服务器并接受套接字'?
最后,我想要一个TCPread(port)
,每次来自任何IP的消息都会触发,TCPwrite(port, ip, message)
会发出消息。
我的想法是一个TCPhandler,它存储了我计划在程序中使用的每个端口获得的所有套接字,每个端口有一个线程。然后每次执行读取或写入时,它会检查处理程序中是否有端口和IP地址的套接字,如果没有,它会向IP发送套接字并等待响应...我不认为我是完全了解整个TCP的事情。
答案 0 :(得分:1)
如果您不关心可以执行以下操作的连接数量:
结果,您将在每个对等体之间获得两个连接。现在您可以按照以下方式使用它们: