我有一个应用程序,我想扩展它以始终将数据发布到套接字,以便当关键事件发生在任何想要侦听数据包的自定义应用程序时,可以处理它们。
我的倾向是通过UDPlocalhost
从服务器向所有已知的客户端发送数据包,这将涉及客户端将消息发送到已知的服务器地址,例如127.0.0.1:12345
,使用他们自己的地址订阅127.0.0.1:54321
,然后服务器向每个客户端发送数据包的副本。每次事件发生时的活跃订阅者。
我在这里看到一些需要解决的问题:
服务器可能处于争用状态并尝试绑定相同的“已知”服务器端口
127.0.0.1:12345
客户端需要知道每个可用的服务器发布消息,以便用户可以选择他们有兴趣收听的服务器
服务器需要定期询问每个客户端是否仍在侦听,因为这将是 UDP
一定有更好的方法!有什么方法可以让客户端共享同一个端口(那么就不需要客户端-服务器握手)来编写网络通信了吗?如果我想在 LAN 上扩展它,我怎样才能轻松地将这些信息发布到感兴趣的机器上(倾向是多播,但这是最干净的方法,当 localhost 上存在部分或所有客户端时,如何使多播工作)?