Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用C语言创建TCP数据包#_C#_.net_Networking_Tcp_Packet - Fatal编程技术网

C# 用C语言创建TCP数据包#

C# 用C语言创建TCP数据包#,c#,.net,networking,tcp,packet,C#,.net,Networking,Tcp,Packet,我正在通过TCP向一个非常旧的系统发送数据。我需要在一个数据包中发送2000字节,并且我需要它不被拆分(当我通过套接字写出2000字节时会发生什么情况) 虽然,是的,我不应该在应用程序级别关心这个问题——事实上我确实关心这个问题,因为我在旧系统上没有其他选项,所有内容都必须在单个数据包中接收 有没有比打电话给netcat更糟糕的事情呢?除非您与Is 1500上的普通用户建立了链接。减去(20字节)和标题(至少20字节)。因此,一个数据包中包含2000字节是不可能的。您确定不发送此数据包吗?TCP

我正在通过TCP向一个非常旧的系统发送数据。我需要在一个数据包中发送2000字节,并且我需要它不被拆分(当我通过套接字写出2000字节时会发生什么情况)

虽然,是的,我不应该在应用程序级别关心这个问题——事实上我确实关心这个问题,因为我在旧系统上没有其他选项,所有内容都必须在单个数据包中接收


有没有比打电话给netcat更糟糕的事情呢?

除非您与Is 1500上的普通用户建立了链接。减去(20字节)和标题(至少20字节)。因此,一个数据包中包含2000字节是不可能的。

您确定不发送此数据包吗?TCP是一种基于连接的协议,这意味着它在两台计算机之间建立了链接,数据传输应被视为一个流。试图通过TCP发送一个数据包是矛盾的。是的,我确实理解很多——通过TCP发送一个数据包并不矛盾——接收方将在一段时间内接收到这些数据流,但我希望控制发送的数据包中的数据碎片(考虑到接收端的陈旧堆栈)。您可能混淆了tcp分段和ip分段。TCP努力优化前者以避免后者。