【问题标题】:TcpClient - receive multiple messages from client on callbackTcpClient - 在回调时从客户端接收多条消息
【发布时间】:2017-07-14 00:26:27
【问题描述】:

我正在尝试创建一个 TCP 侦听器,它接收客户端,使它们保持打开状态,并在它们发送数据时调用回调方法。 我似乎不知道如何添加回调以及如何保持客户端打开。

我当前的代码如下所示:

 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() 只是从网络流中读取字节。

但这只会从客户端接收一次数据。 谁能给我一个提示,如何从这个单一连接多次接收数据?

【问题讨论】:

    标签: c# tcp tcpclient


    【解决方案1】:

    你的循环中有client = __Listener.AcceptTcpClient();。这意味着一旦循环回到顶部,您就会阻塞等待下一个传入连接,然后覆盖您的 client 变量。

    首先,将此行移到循环上方。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-04
      • 2014-12-26
      • 2017-02-13
      • 2019-09-16
      • 2020-01-10
      • 2021-05-23
      • 1970-01-01
      • 2010-12-03
      相关资源
      最近更新 更多