我有问题,我想通过SocketConnection发送大字符串,但由于网络有限,我无法一次接收字符串到1500字节,所以我如何通过Socket接收所有字节而不使用TCPClient,或者这是不可能的。如何通过套接字连接接收大数据流 - 无TCPClient
public string ReceiveString(Socket connection)
{
byte[] buffer = new byte[1048576];
int recBytes = connection.Receive(buffer);
return UnicodeEncoding.Unicode.GetString(buffer, 0, recBytes);
}
那是,我至今。
如果它不可能,通过套接字,我可以从套接字中获取EndPoint以使用TCPClient作为“最后的选项”?
您必须自己实施[协议级别](https://en.wikipedia.org/wiki/OSI_model#Layer_4:_Transport_Layer)以将数据拆分为数据包并接收(连接)它们。 – Sinatr
你不行。 TCP将每条消息分解为大约1500字节的数据报。当您应该使用异步方法时,您正在使用同步Receive()方法。您需要在发送功能中添加终止字符,以便接收功能可以继续读取1500个数据报,直到找到结束字符。 – jdweng
TCP是否有某种类型的结束序列,我的意思是,我听说过\ 0? – Silent3241