Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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# 忽略TcpClient/NetworkStream中的传入数据_C#_.net_Network Programming_Tcpclient - Fatal编程技术网

C# 忽略TcpClient/NetworkStream中的传入数据

C# 忽略TcpClient/NetworkStream中的传入数据,c#,.net,network-programming,tcpclient,C#,.net,Network Programming,Tcpclient,为了与某些第三方软件通信,我需要通过TCP建立单向连接。我的软件只需要将数据发送到另一端,永远不会读取任何数据。 目前我正在使用TcpClient。如果仍然有传入的数据包,而我从未读过它们,会发生什么?它们会堆积在某个地方,导致一些错误或类似的情况吗?如何配置TcpClient以忽略或放弃所有传入数据 整个设计不完全是我会做的,但我不能改变其他软件,需要忍受这一点 一些关于TcpClient中的位的好提示将非常有用 从你的角度来看,什么都不会发生。数据将被丢弃。从您的角度来看,不会发生任何事情。

为了与某些第三方软件通信,我需要通过TCP建立单向连接。我的软件只需要将数据发送到另一端,永远不会读取任何数据。 目前我正在使用TcpClient。如果仍然有传入的数据包,而我从未读过它们,会发生什么?它们会堆积在某个地方,导致一些错误或类似的情况吗?如何配置TcpClient以忽略或放弃所有传入数据

整个设计不完全是我会做的,但我不能改变其他软件,需要忍受这一点


一些关于TcpClient中的位的好提示将非常有用

从你的角度来看,什么都不会发生。数据将被丢弃。

从您的角度来看,不会发生任何事情。数据将被丢弃。

我认为一些数据将被缓冲,等待您读取。但是,不确定缓冲区大小有多大。我认为这不会立即导致错误,但如果发送方希望能够写入,那么在某个时候写入可能会超时,而另一方可能会选择关闭连接。

我认为一些数据将被缓冲,等待您读取。但是,不确定缓冲区大小有多大。我认为这不会立即导致错误,但如果发件人希望能够写入,则在某个时候写入可能会超时,而另一方可能会选择关闭连接。

FYI,TcpClient级别可能不存在缓冲区-它可能在网络堆栈中相当深。即使OPs接收缓冲区已满,另一方也可以发送数据。当接收方的缓冲区已满时,我看不出发送方如何在逻辑上发送更多数据。必须有人存储它,而不是路由器。在我看来,发送方必须对其进行缓冲似乎是合乎逻辑的。你的意思是互联网上应该有很多“嘿,别再给我发送数据了,我已经满了”的数据包?我不这么认为……不,我不是说会发生这样的事。我只是说发送方参与了数据的缓冲,而接收方有权限制缓冲区,或者根本不限制缓冲区。我认为发送方基本上是从接收方获取关于如何控制流量的数据。仅供参考,TcpClient级别可能不存在缓冲区-它可能在网络堆栈中很深。即使OPs接收缓冲区已满,另一方也可以发送数据。当接收方的缓冲区已满时,我看不出发送方如何在逻辑上传输更多的数据。必须有人存储它,而不是路由器。在我看来,发送方必须对其进行缓冲似乎是合乎逻辑的。你的意思是互联网上应该有很多“嘿,别再给我发送数据了,我已经满了”的数据包?我不这么认为……不,我不是说会发生这样的事。我只是说发送方参与了数据的缓冲,而接收方有权限制缓冲区,或者根本不限制缓冲区。我认为发送方基本上是从接收方获取关于如何控制流量的数据。