TcpClient - 在回调时从客户端接收多条消息

TcpClient - receive multiple messages from client on callback

我正在尝试创建一个 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() 只是从网络流中读取字节。

但这只从客户端接收数据一次。 谁能告诉我如何从这个单一连接多次接收数据?

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

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