【问题标题】:Can you use the same socket to send the request to server from which you previously send in c++您可以使用相同的套接字将请求发送到您之前在 C++ 中发送的服务器吗
【发布时间】:2012-10-27 09:20:06
【问题描述】:

假设您通过套接字连接连接到服务器,并且有一次您将请求发送到服务器并接收响应,然后您再次尝试将请求发送到服务器但是 send();返回-1,因为服务器在一段时间后服务器关闭,您可以使用相同的套接字向服务器发送请求吗?

【问题讨论】:

  • 您已经回答了自己的问题。如果 send() 因为连接断开而返回 -1,则连接断开,您需要一个新连接。

标签: multithreading visual-studio-2010 sockets visual-c++ client


【解决方案1】:

不,当您收到错误时,连接不再有效。一旦连接失效,您应该关闭套接字;您不能将其重新用于新连接。如果服务器宕机了,它不记得原始连接的参数(例如端口号);您需要打开一个新连接,以便客户端和服务器同步。

【讨论】:

  • 不正确。当您收到错误 socket 保持打开状态。 但是错误情况表明 连接 已损坏。在这一点上,除了关闭它之外,您对套接字没有任何用处,我再说一遍,它不是自动的,而是创建并连接一个新的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-14
  • 1970-01-01
  • 1970-01-01
  • 2017-09-05
  • 1970-01-01
相关资源
最近更新 更多