【发布时间】:2018-08-27 16:54:01
【问题描述】:
我的系统与某个服务器相连。我正在从服务器读取数据。 但我想从服务器连续读取数据。 这是我的代码:
TcpClient client = new TcpClient("169.254.74.65", 7998);
NetworkStream stream = client.GetStream();
Byte[] data = new Byte[1024];
String responseData = String.Empty;
Int32 bytes = stream.Read(data, 0, data.Length);
responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
Console.WriteLine("Received: {0}", responseData);
stream.Close();
client.Close();
谁能告诉我将 while 循环放置在何处以便能够连续收听的逻辑?
【问题讨论】:
-
要连续阅读你需要一个循环。但我猜你想要的是“连续并同时”。那就是“不阻塞你的主线程” - 所以你需要一个普通的旧线程(或线程池,更好)或异步方法。
-
你需要实现
Long polling,搜索一下。 -
不不,只是主线程。数据流将来自单个 IP 地址。
标签: c# .net server client listener