代码之家  ›  专栏  ›  技术社区  ›  Poni

Winsock-停止接受新连接,但与现有连接保持通信

  •  7
  • Poni  · 技术社区  · 15 年前

    因此,接受的每个连接都与侦听套接字相关联,以开始接收通知(读、写、关闭等)。

    一切都很好。

    在某个时刻,我想停止接受新的连接,但与已连接的现有套接字保持通信。

    我想我可以做一个:

    1. 停止调用wsaaaccept()。

    选项1 给出预期结果;我的应用程序不处理新的连接,但它可以接受多达积压的数量(100)。实际上是建立了联系-我不想要!

    ; 我能做到吗?怎样?在MSDN和google上都找不到。文件 listen() 在MSDN说;

    已经听过了,会的 backlog参数的值。 在中将backlog参数设置为0 一个接一个的电话 监听套接字不被视为 插座上的连接。

    对我不好。

    选项3 实际工作;关闭侦听套接字之后,我仍然可以与现有连接通信,而且积压的工作也没有了(好吧,关闭了侦听套接字!)。

    1 回复  |  直到 15 年前
        1
  •  9
  •   sth    15 年前

    您只需关闭监听插座即可。接受的连接有自己的套接字,关闭侦听套接字不会影响它们。

    例如,在Microsoft文档中 a sample server application

    推荐文章