我有多个线程使用多个套接字但都指向一个端口。它会工作吗?我看到一些线程说多个应用程序不能使用相同的端口,但我不确定它是否直接解决了这个问题
代码示例
static IPEndPoint b = new IPEndPoint(IPADRESS, PORT);
static Thread listenThread = new Thread(listen);
static Thread sendThread = new Thread(send);
static void listen(){
Socket socket = new Socket;
socket.bind(b);
while(exit == false){
Socket.listen(10);
//handle Data
}
static void send(){
Socket socket = new Socket;
socket.bind(b);
while(exit == false){
Socket.send(msg)
}
最佳答案
如果您在同一个端口上只有一个监听线程和一个发送线程,您就可以了。但是,如果更多,则让一个线程监听端口并将接收到的任何内容推送到队列中。其他线程应该从队列中读取。
关于C# 多个套接字在不同的线程上使用相同的端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36342736/