如何读取异步 TCPCLIENT 网络流



我正在尝试使用 TcpClient 和 TcpListener 在 c# 中使用 async 和 await 制作聊天应用程序。

这是我想出的代码。问题是,一旦客户端写入流,服务器似乎就无法读取它。

public class asyncClient    {
   public async static Task Start()    {
    TcpClient client = new TcpClient();
    await client.ConnectAsync(IPAddress.Parse("127.0.0.1"), 11000);
    String message = "hello world";
    NetworkStream ns =  client.GetStream();
    StreamWriter sw = new StreamWriter(ns);
    await sw.WriteLineAsync(message);

    }
public static void Main(){
    Start().Wait();
    }
}

这是侦听器代码

public class AsynchListener
{
public async static Task StartListening()
{
    TcpListener listener = new TcpListener(IPAddress.Parse("127.0.0.1"), 
 11000);
    listener.Start();
    while (true) {
        TcpClient handler = await listener.AcceptTcpClientAsync();

        NetworkStream ns = handler.GetStream();
        StreamReader sr = new StreamReader(ns);
        String message = await sr.ReadLineAsync();
        Console.WriteLine(message);
    }
    Console.WriteLine("check");


}

    public static void Main(string[] args)
    {
    StartListening().Wait();
    }
 }

好的,我发现了错误,我失踪了

await sw.FlushAsync();

在写行命令之后

最新更新