C#多个套接字在不同的线程上使用相同的端口

时间:2016-03-31 20:05:41

标签: c# multithreading sockets

我有多个线程使用多个套接字,但都指向一个端口。它会起作用吗?我看到一些线程说多个应用程序无法使用相同的端口,但我不确定它直接解决了这个问题

代码示例

       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)
                }

1 个答案:

答案 0 :(得分:1)

如果你在同一个端口上只有一个监听线程和一个发送线程,那你就可以了。但如果更多,那么让一个线程监听端口并将接收的任何内容推送到队列中。其他线程应该从队列中读取。