Tag: tcpclient

如何从NetworkStream获取所有数据

我试图读取通过TCP/IP连接的机器缓冲区中存在的所有数据,但我不知道为什么我没有得到所有数据,一些数据正在错过。 这是我正在使用的代码.. using (NetworkStream stream = client.GetStream()) { byte[] data = new byte[1024]; int numBytesRead = stream.Read(data, 0, data.Length); if (numBytesRead > 0) { string str= Encoding.ASCII.GetString(data, 0, numBytesRead); } } 请告诉我我缺少什么来从机器获取所有数据。 提前致谢..

不允许异步锁定

基本上,我想向tcp服务器发出多个异步请求。 我目前有一个只有同步的工作客户端,并在每次网络调用时阻止UI。 由于多个请求几乎可能同时发生,我尝试这样做: private object readonly readLock = new object(); public async Task UpdateDetailsAsync() { //I want every request to wait their turn before requesting (using the connection) //to prevent a read call from catching any data from another request lock (readLock) { Details details = await connection.GetDetailsAsync(); detailsListBox.Items = details; } } 我确信这不是一个很好用的锁,但这是我能想到的唯一方法,可以让电话等待轮到他们。 有没有我可以用来实现这种行为的对象? […]