tcpClient不接受客户端,除非尝试进行多次连接或将断点置于调试模式

我也不确定提供什么来帮助诊断此错误。在Visual Studio 2019中完成调试。

我有一个非常简单的服务器设置,可以将HTTP标头响应发送到客户端连接。这是单个客户端操作。

在我的循环中:

while (this._running) {
  TcpClient client =  server.acceptTcpClient(); // hangs here 
  // more stuff later on

在等待客户端连接(设置TcpListener之后)后,我的绞线挂在了acceptTcpClients上。如果我在该行上放置一个断点,然后在调试中运行,程序将流动,命中该行,然后被阻塞直到发生连接。然后,我要么使用浏览器并连接该端口(或使用诸如postman之类的东西),程序就会看到连接,处理请求,关闭客户端并等待新的连接。其他一切工作都很好。当我有断点时,它始终有效。

如果我设置一个断点,并且只运行服务器的构建版本,或者仅在简单的调试模式下运行,则永远无法一致连接到该服务器。我要么要发送一堆请求

即发送请求,挂起,取消,重新发送,挂起,取消,重新发送(接收!)响应。

或在第一次尝试时收到响应,或者它从不连接。它们始终都是相同的请求,以确保一致性。

服务器的设置方式:

 IPEndPoint port = new IPEndPoint(this.ip,this.port); 
 server = new TcpListener(port);

 // Start listening for client requests.
 server.Start();
 this._running = true;
 while (this._running) {
    TcpClient client =  server.acceptTcpClient(); // hangs here 
    // more code that is never usually reached after a client connets
imauzhw 回答:tcpClient不接受客户端,除非尝试进行多次连接或将断点置于调试模式

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3000434.html

大家都在问