我想在服务器端和客户端使用多播套接字。服务器将发送数据,客户端将接收数据。同时,如果数据丢失,客户端会向服务器发送 nack 数据包,服务器会收到 nack 数据包。我应该如何实现这一点,一个多播组和一个套接字端口,两个多播组和两个套接字端口?我希望服务器可以同时发送数据并接收 nack,这可能吗?
谢谢
我想在服务器端和客户端使用多播套接字。服务器将发送数据,客户端将接收数据。同时,如果数据丢失,客户端会向服务器发送 nack 数据包,服务器会收到 nack 数据包。我应该如何实现这一点,一个多播组和一个套接字端口,两个多播组和两个套接字端口?我希望服务器可以同时发送数据并接收 nack,这可能吗?
谢谢
您必须首先决定 1) 服务器是否会使用初始组播组发送丢失的数据包;2) 第二组播组;或 3) 到客户端的单播连接。在第一种情况下,服务器或客户端都不需要额外的套接字。在第二种情况下,服务器和客户端都需要一个额外的套接字。在第三种情况下,客户端将需要一个额外的套接字,而服务器将需要为每个客户端提供一个额外的套接字。
以上介绍了从服务器向客户端发送数据包的套接字要求。为了将 NACKS 从客户端发送到服务器,您需要决定客户端是否会使用 1) 相同的初始多播组 2) 上述第二种情况的辅助多播组发送 NACKS;3) 专用于 NACKS 的不同组播组;或 4) 到服务器的单播连接。只有在最后两种情况下,客户端才需要另一个套接字。对于第三种情况,服务器将需要一个额外的套接字,对于第四种情况,每个客户端都需要一个额外的套接字。
服务器可以使用多个线程同时组播数据包和响应丢失的数据包。
这是一个非常活跃的研究领域(我是其中的一员)。祝你好运。