Network programming 我不知道';我不想为单服务器程序关闭多客户端中的套接字

Network programming 我不知道';我不想为单服务器程序关闭多客户端中的套接字,network-programming,Network Programming,我正在CentOS 6.2上构建一个C套接字程序,如下所示 服务器正在侦听来自所有客户端的连接请求 一旦建立连接,客户端就开始向单个服务器发送日志数据 问题是所有客户端都将日志数据发送到同一个端口,这会在客户端关闭连接时导致CLOSE\u WAIT问题 在网上冲浪时,我读到我应该关闭socket以终止“close_WAIT”连接,这意味着服务器不能再接受来自另一个客户端socket的日志数据 有没有办法终止端口上的特定会话?如果不可能,我应该创建多服务器侦听器吗 问题是所有客户端都将日志数据发送

我正在CentOS 6.2上构建一个C套接字程序,如下所示

  • 服务器正在侦听来自所有客户端的连接请求

  • 一旦建立连接,客户端就开始向单个服务器发送日志数据

  • 问题是所有客户端都将日志数据发送到同一个端口,这会在客户端关闭连接时导致
    CLOSE\u WAIT
    问题

    在网上冲浪时,我读到我应该关闭socket以终止“close_WAIT”连接,这意味着服务器不能再接受来自另一个客户端socket的日志数据

    有没有办法终止端口上的特定会话?如果不可能,我应该创建多服务器侦听器吗

    问题是所有客户端都将日志数据发送到同一个端口,这会在客户端关闭连接时产生关闭等待问题

    不,没有
    CLOSE\u WAIT
    表示(i)对等方已关闭其连接端,并且(ii)本地系统正在等待本地应用程序执行相同的操作。它与“到同一端口”无关,这是所有TCP服务的工作方式

    我读到应该关闭套接字以终止“close\u WAIT”连接

    这意味着服务器无法再接受来自另一个客户端套接字的日志数据

    不,没有。如果您关闭侦听套接字,则会发生这种情况。您需要关闭已接受的套接字,即从中获取EOS的套接字

    有没有办法终止端口上的特定会话

    合上插座

    如果不可能,我应该创建多服务器侦听器吗

    你肯定已经这么做了

    你别无选择。若您在读取套接字时接收到流的末尾,那个么您将无法从中读取更多内容。永远