listen() 是连续运行还是我需要循环它以继续接收套接字上的连接?

Mil*_*vić 2 c++ sockets listen

我在同一台机器上运行客户端和服务器,使用环回地址进行学习,但我的“服务器”代码似乎飞回了 listen() 然后挂在我的 connect() 上。listen() 是否需要无限循环才能保持接收连接?

即使我还没有建立连接,如果 listen() 返回 0,我将如何确定连接已建立/在队列中?

我有一个 accept() 调用,但代码挂在那个地方。我之前和之后都有调试语句,它永远不会超过accept()。

另一方面,我的客户端代码似乎 connect() 很好(不会引发错误)并且即使服务器代码从未获得连接似乎也可以编写和完成。

Ed *_*eal 5

listen函数定义了积压。只需要调用一次。

然后用于accept接收传入连接。最好及时处理这个问题,然后再去一次accept