c++ - Winsock 监听和接受函数 (C++)

标签 c++ winsock listen

如果我有一个处于无限循环中的监听套接字,在我运行接受函数之前,有什么方法可以让我知道是否已经建立了连接? 我希望能够在执行之前执行一些操作:

sock_connection[0] = accept(sock_listen, (SOCKADDR*)&Address, &AddressSize)

具体来说,如您所见,我的 sock_connection[0] 变量是一个数组。现在,在我实际接受一个连接之前,我希望能够遍历这个数组,而不是它现在拥有的 0,它应该返回数组中的一个可用点。

那么,有什么方法可以在运行 accept 之前检测连接吗?

最佳答案

使用动态容器不是更容易吗?

类似于:

vector<int> socket_pool;
int connection = accept(sock_listen, (SOCKADDR*)&Address, &AddressSize);

if (connection > 0)
     socket_pool.push_back(connection);

关于c++ - Winsock 监听和接受函数 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15233441/

相关文章:

c++ - 为什么类型推导一次失败,而在两种非常相似的情况下又一次成功?

c++ - std::bind 和 winsock.h 绑定(bind)混淆

linux - 应用路径和监听端口

c++ - 如何在同一端口上运行套接字和 websocket 服务器?

centos - Logstash 未监听 UDP 端口 5140

c++ - 即使禁用了优化,Visual Studio 也会优化吗?

c++ - 尝试编译 Eigen 时 Visual Studio 2013 崩溃

dns - 是否可以使用 LSP/SPI 拦截 dns 查询?

c++ - 带有复选框的 QHeaderView - 如何区分右键单击标题复选框和单击单元格中的任意位置

networking - 捕获 Windows XP 本地主机 TCP 流量