我需要检查我的客户端缓冲区中是否有东西,所以我没有等待写它。

private async void ThreadMethod_ListenClient()
    {
        while (true) {
            if (ClientQueue.Count == 0)
                continue;
            Client client = (Client)ClientQueue.Dequeue ();
            if (client.Reader != null) {
                string Say = await client.Reader.ReadLineAsync();
                if (Say != null) {
                    if (Say.Length != 0) {
                        Console.WriteLine (Say);
                    }
                }
            }
            ClientQueue.Enqueue (client);

        }
    }


client.Reader:来自TcpClient的StreamReader

client.Socket:TcpClient

如何检查“ client.Reader”是否为空?

肥胖C#和Mono

最佳答案

当到达文件末尾或没有内容可读取时,StreamReader.Peek()也会返回-1
可以检查如下:

while(StreamReader.Peek() != -1){
    //Your code here
}

07-24 09:37
查看更多