在調試模式下,我通過TCP/IP套接字接收3144字節的數據,但在執行時收到1023字節。爲什麼不讀取其餘的數據?在C#中接收TCP/IP套接字數據時出現問題
IPEndPoint ipEnd = new IPEndPoint(ipAdd, ipPort);
Socket soc = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
soc.Connect(ipEnd);
byte[] sendData = Encoding.ASCII.GetBytes("msg");
soc.Send(sendData);
int byteLen = 4*1024;
byte[] RecData = new byte[byteLen];
int DataLen = soc.Receive(RecData, 0, RecData.Length, SocketFlags.None);// Here I placed breakpoint
string str = Encoding.ASCII.GetString(RecData, 0, DataLen);
MessageBox.WriteLine(str);
soc.Close();
一步一步的調試,我得到DataLen
爲3144字節,它工作正常。不過,在執行期間,我收到DataLen
爲1023字節。爲什麼會發生?我需要在MessageBox
或TextBox
中打印收到的數據str
。
選擇代碼,然後單擊「101010」圖標好的格式作爲編輯的版本 – 2010-09-23 15:05:09