【问题标题】:socket program setup套接字程序设置
【发布时间】:2012-11-28 03:10:35
【问题描述】:

我正在编写我的第一个套接字程序来连接我的主机和其他 PC 上运行的服务器。 我指的是以下链接,但不明白这一行的含义。

http://www.thegeekstuff.com/2011/12/c-socket-programming/

调用函数“listen()”,第二个参数为“10” 指定服务器将排队的最大客户端连接数 对于这个监听套接字。

表示它将监听 10 次新的连接请求。听时实际发生了什么:?:

一旦某个客户端正确连接到套接字,我们将进入while循环并且如果在while的第二个循环中没有客户端请求连接到套接字,则在while循环内部确实接受块:?:

当我们在 while 循环中时,listen() 系统调用是否仍在工作或终止:?:

还有什么时候我们会退出while循环:?:

请论坛上的人可以帮助我理解这一点。

【问题讨论】:

  • 根据您写的第一部分,您似乎想连接到另一台PC。如果是这种情况,您需要查看客户端代码。侦听是与允许的挂起连接数有关的服务器端功能。如果您正在尝试开发服务器,我也会查看 select 语句。

标签: sockets embedded-linux


【解决方案1】:

listen 调用的作用是告诉系统它应该用于新连接的队列大小。此队列仅用于您尚未接受的连接,因此它不是您将拥有的总连接数。

除了设置传入连接队列的大小,它还在套接字上设置一个标志,表明它是一个被动侦听套接字。

listen做的东西是在socket上设置的,所以只要socket打开了队列,flag就有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 2011-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多