我试图使一个多播IP排他性,即它可以“锁定”,当它是“锁定”,没有更多的MulticastSocket可以加入它。
有可能吗?我该怎么做呢?下面是一些代码来解释我的情况:
String multicastIP = "224.0.0.1"; //multicast IP to "lock" later
InetAddress group = InetAddress.getByName(multicastIP); //create group
MulticastSocket multicastSocket = new MulticastSocket(8800);
我有一个服务器,它与另一个服务器联系,用于检索客户端请求的文件。
请求程序是:
Client ----> Server A ----> Server B
发送文件的过程:
Server B ---> server A ----> client
我无法将客户端直接连接到服务器B。
要求:
当客户端文件数据到达另一个服务器时,服务器A必须转发到客户端文件数据(而无需等待整个文件的接收)。所以当他们到达的时候,字节对字节。
其他资料:
TCP socket;
Programming in C on Linux.
有人能给我一些想法来实现这个吗?
更新
这是我的第一次尝试:
服务器配置:
port 1194
proto udp
dev tun
dev-node MyTap
server 10.8.0.0 255.255.255.0
ca "C:\\OpenVPN\\easy-rsa\\keys\\ca.crt"
cert "C:\\OpenVPN\\easy-rsa\\keys\\server.crt"
key "C:\\OpenVPN\\easy-rsa\\keys\\server.key"
dh "C:\\OpenVPN\\easy-rsa\\keys\\dh1024.pem"
pus
我必须创建单个服务器进程A和多个客户端进程(Es)。所有用户都应该使用Linux消息队列进行数据传递。信息将向两个方向流动。同时,多个客户端进程(Es)也可能已注册到服务器进程A。
目前,我只使用一个命名消息队列,它由Server Process A创建和打开,并由客户端进程(Es)使用/打开(仅)。这适用于两个流程场景(即一个服务器进程A和一个客户机进程B),但不适用于多个客户端进程(Es)和一个服务器进程。
我在这里面临的问题是设计/逻辑。如何从其他客户端进程(Es)解除服务器进程A上的多路复用消息,以及从服务器进程A返回到相应的客户端进程,或者可能它可以发送回所有客户端进程(Es),但必