为什么我的Winsock应用程序有时等待listen(),有时等待accept()
Why does my Winsock app sometimes wait at listen() and sometimes at accept()?
嘿,伙计们,我正在使用Visual c++ 2010,试图使用Winsock编写一个服务器/客户端应用程序…我不确定为什么,但有时服务器在listen()函数等待,有时在accept()函数等待。我想知道,这两个功能的作用机制是什么?它不应该在listen()中等待,直到它听到传入的连接,然后继续accept()吗?
listen
函数使套接字进入监听模式。你只需要调用这个函数一次。通常情况下,该函数会立即返回。
通过调用accept
函数接受传入的连接。在阻塞模式(默认)下,它只在接受新连接或发生错误时返回。
没有。你的观察是错误的。listen()
为非阻塞呼叫。它所做的只是将端口置于LISTENING状态,这要么成功,要么失败。没有什么可阻挡的
accept()
阻塞,等待入站连接
相关文章:
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- 如何让LLDB在成功时退出,在失败时等待
- 等待整个 omp 块完成,然后再调用第二个函数
- 提升 ASIO - io_service 不要等待连接到线程
- 如何在C++中实现带有packaged_task的异步等待循环?
- 虚假唤醒是否会解锁所有等待线程,甚至是不相关的线程?
- 如何等待窗口隐藏在Qt中?
- 如何在不等待检索的情况下获取C++中的内存位置?
- 等待被迷住了,没有回来
- 等待 WaitForMultipleObjects 窗口中的事件数量可变
- 一个线程等待多个线程事件
- 等待 qthread 终止的正确方法是什么?
- 不可预测的C++睡眠/等待行为
- Bison/flex 在识别规则后等待输入
- 使用记事本C++打开 txt 文件时无需等待
- 接受函数在发送数据包时等待
- 在Visual Studio中运行/调试C ++时,如何在结束时等待输入
- Winsock -等待调用accept(),直到客户端真正尝试连接
- 为什么我的Winsock应用程序有时等待listen(),有时等待accept()
- OOP 套接字不等待 accept()