网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月23日漏签0天
linux吧 关注:512,219贴子:2,569,061
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 2回复贴,共1页
<<返回linux吧
>0< 加载中...

关于一些Socket通讯的问题

  • 只看楼主
  • 收藏

  • 回复
  • w472713985
  • -------x
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
代码结构:
listenfd = socket(...);
bind(listenfd, ...);
listen(listenfd, ...);
while (1) {
--connfd = accept(listenfd, ...);
--n = fork()
--if (n == -1) {
----perror("call to fork");
----exit(1);
--} else if (n == 0) {
----close(listenfd);
----while (1) {
------read(connfd, ...);
------...
------write(connfd, ...);
----}
----close(connfd);
----exit(0);
--} else
----close(connfd);
--}
上面是一个多进程处理多个client的请求的代码结构 有几个问题不是很了解:
1.父进程的操作是关闭连接,那是不是表示每个连接如果刚好进入的父进程是不是就会连接失败?
2.每个子进程都要关闭端口监听的原因是什么?如果是监听很导致阻塞那为什么父进程不用关闭监听?
求大神解答,3Q


  • w472713985
  • -------x
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
以上代码前的--是为了缩进 没有任何意义


2025-07-23 07:23:42
广告
不感兴趣
开通SVIP免广告
  • 刘高燕520
  • ----xr--
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
单纯是关闭没有用的套接字,特别是父进程,不关闭的话会越来越多的文件描述符被占用


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 2回复贴,共1页
<<返回linux吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示