2017-07-13 13 views
0

クライアントを受信したTCPリスナーを作成しようとしていて、データコールをコールバックメソッドを送信したときに開いています。 コールバックを追加する方法と、クライアントを開いたままにする方法がわかりません。TcpClient - コールバック時にクライアントから複数のメッセージを受信

私の現在のコードは次のようになります。

protected void Listener() 
    { 
     TcpListener __Listener = new TcpListener(System.Net.IPAddress.Any, Port); 
     __Listener.Start(); 
     long _TicketNo = 0; 

     while (IsRunning) 
     { 
      client = __Listener.AcceptTcpClient(); 

      _TicketNo++; 

      RFIDReaderCommunication work = new RFIDReaderCommunication(client); 
      Trigger(work.process()); 

      System.Threading.Thread.Sleep(100); 
     } 
    } 

work.process()単にネットワークストリームからバイトを読み取ります。

ただし、これはクライアントからデータを1回だけ受信します。 誰でもこの単一の接続から何度もデータを受信するヒントを教えてもらえますか?

答えて

0

ループ内にclient = __Listener.AcceptTcpClient();があります。つまり、ループが一番上に戻るとすぐに次の着信接続を待ってから、client変数を上書きすることになります。

まず、この行をループの上に移動します。

関連する問題