我正在處理一個C#應用程序,它通過TCP/IP連接到主機以發送並接收使用TCPClient Stream的響應。TCPClient不讀取傳入的數據
問題是我可以使用Stream.Write(...)發送數據,但是當我嘗試通過調用Stream.Read(...)來獲得對我發送數據的響應時,它會掛起並且永遠不會返回。
我已經檢查了像Wire-Shark這樣的網絡嗅探工具,並且可以看到來自主機的數據正在被我的網絡接口接收。爲什麼這些數據沒有被我的TCPClient讀取?
由WireShark顯示的接收數據的十六進制轉儲以00開頭,是否意味着空字符,爲TCPClient讀取創建問題?
00-1d-4F-FB-43-4b-00-1d-7E-3A-9A-20-08-00-45-00-00-34
下面是寫代碼.. 。
myTcpClient = new TcpClient();
myTcpClient.Connect("192.168.0.194", 1958);
Stream myTCPStream = myTcpClient.GetStream();
ASCIIEncoding asen = new ASCIIEncoding();
byte[] msgBytes = asen.GetBytes("Message to be sent.");
myTCPStream.Write(msgBytes, 0, msgBytes.Length);
,這是閱讀的代碼...
byte[] bytesReceived = new byte[100];
int nBytesRead = myTCPStream.Read(bytesReceived, 0, bytesReceived.Length);
myTcpClient.Close();
感謝您的幫助。
我的魔法crytal球仍然需要修復,所以我怕你將不得不向我們展示代碼在同一時間... – DarkSquirrel42 2011-05-30 10:20:46