13得票1回答
何时使用TcpClient.ReceiveTimeout和NetworkStream.ReadTimeout?

编写TCP服务器时,我想设置从客户端读取请求的超时时间:var tcpClient = tcpListener.AcceptTcpClient(); var networkStream = tcpListener.GetStream(); tcpClient.ReceiveTimeout =...

13得票2回答
是否可能在Socket和TcpClient对象之间进行转换?

以下是关于C#/.NET的另一个问题,纯属好奇并非急需... 如果你有一个Socket实例,并且你想将它包装在更高级别的TcpClient类中,这是否可行?如果可以,你会如何做呢? 相反,如果你有一个TcpClient实例,是否有可能获取底层的Socket?

13得票1回答
AuthenticateAsClient: System.IO.IOException: 从传输流中收到意外的EOF或0字节。

由于 Heartbleed 的影响,我们更新了网关服务器,但这个问题出现了。 由于 POODLE,不再支持 SSLv3。 请注意,这个问题只存在于 Win7+ 系统中;WinXP 系统没有问题(相同的代码,不同的操作系统=问题);尽管 WinXP 不再是有效的操作系统,但我想提一下它的功...

13得票1回答
boost::asio中的async_read()函数出现EOF。

当async_read_some()返回EOF异常时,它是指服务端停止发送数据还是连接关闭。我有这个疑惑,因为我找不到一种方法来知道客户端是否已经接收到了服务端的所有数据。

12得票8回答
TcpClient.GetStream().DataAvailable返回false,但流中仍有更多数据。

因此,似乎阻塞式Read()在接收所有发送给它的数据之前就返回了。因此我们使用一个由所涉及的流中的DataAvailable值控制的循环来包装Read()。问题在于,在这个while循环中,您可能会收到更多的数据,但是没有任何后台处理让系统知道这一点。我在网上找到的大多数解决方案都无法适用于我...

12得票4回答
循环直到完全读取TcpClient响应

我写了一个简单的TCP客户端和服务器,问题出在客户端。 我在读取来自服务器的完整响应方面遇到了一些麻烦。我必须让线程休眠以允许发送所有数据。 我尝试过几次将这段代码转换为循环,直到服务器完成发送数据为止。// Init & connect to client TcpClient c...

11得票2回答
使用asyncio编写服务器和客户端以处理从控制台输入的内容。

我有一个基于asyncio的TCP服务器,它接收客户端消息,对其进行操作并发送回文本。服务器在正确接收和发送数据方面工作正常。问题在于客户端无法从服务器获取消息,因为在控制台输入时具有阻塞例程(基本上,data_received方法永远不会执行)。只有退出命令可以正常工作(它关闭了循环)。 如...

11得票5回答
如果您打破Lock()语句会发生什么?

我正在编写一个程序,它监听传入的TcpClient并在数据到达时处理数据。组件内的Listen()方法在单独的线程上运行,因此需要是线程安全的。如果我在lock()语句中使用break退出dowhile循环,锁会被释放吗?如果不会,我该怎么做? 谢谢! (关于异步TCP套接字的任何其他建议...

11得票2回答
为什么 NetworkStream 的读取方式像这样?

我有一个应用程序,使用TCPClient和它的底层NetworkStream通过TCP套接字发送以换行符结尾的消息。 实时数据流每100毫秒传输大约28k的数据进行监测。 我已经剥离了不相关的代码,以下是我们读取数据的基本方法:TcpClient socket; // initialize...

11得票2回答
Android TCP连接的最佳实践

我正在开发一个Android应用程序,需要与一个TCP服务器(使用Node.js编写)建立TCP连接。 我的Android TCP客户端已经能够发送和接收消息。 我的具体问题是: 在Android中处理与服务器的TCP连接的最佳方法是什么? 如何维护连接(例如在onDestroy()中...