2016-03-31 18 views
3

複数のスレッドを使用していますが、すべて1つのポートを指しています。それは働くでしょうか?私は、複数のアプリケーションが同じポートを使用傾けると言って、いくつかのスレッドを見てきましたが、私はあなたが唯一のリスニングスレッドと一つの送信スレッドを持っている場合は、直接この質問にコード別のスレッドで同じポートを使用するC#複数のソケット

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

ここでは、すべてをまとめた非常に良い答えがあります。http://stackoverflow.com/a/724022/24472 – Larry

答えて

1

例を扱っわからないんだけどあなたは大丈夫です。しかし、それ以上の場合は、1つのスレッドがポートをリッスンし、受信したものをキューにプッシュします。他のスレッドはキューから読み込む必要があります。

+0

最初は、ソケットが異なるスレッドの同じポートで同時に使用できると言っています。 – silentcallz

+0

1つのスレッドだけがポートをリッスンできますが、別のスレッドは同じポート経由で送信できます。 –

+0

2スレッド、2ソケット、1読み取り、1書き込み、すべて同じポートを共有 – silentcallz

関連する問題