免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2517 | 回复: 11
打印 上一主题 下一主题

关于父子进程的通信(服务器端) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-05-10 19:37 |只看该作者 |倒序浏览
在网络通信的服务器端,每接收到一个client的连接请求就fork一个子进程去执行与client的通信。
  现在从每个client端发来的其中一种信息需要由服务器转发给其他的client
所以我想由子进程将接收到的这种信息传给父进程,再由这个父进程将这条消息传给其他的子进程,从而由子进程发给相应的client
  现在我不知道这样的想法可不可以实现,如果不可以还有什么好方法吗?
  请指教,谢谢

论坛徽章:
0
2 [报告]
发表于 2003-05-10 19:49 |只看该作者

关于父子进程的通信(服务器端)

所以我想由子进程将接收到的这种信息传给父进程,再由这个父进程将这条消息传给其他的子进程

我觉得还是可以实现
但是只是要注意你上面的,就是发出消息的子进程也会收到消息

论坛徽章:
0
3 [报告]
发表于 2003-05-10 20:08 |只看该作者

关于父子进程的通信(服务器端)

这个问题我想忽略掉
有什么好的实现方法吗,我试着用管道做,可是总觉得比较困难呢

论坛徽章:
0
4 [报告]
发表于 2003-05-10 20:17 |只看该作者

关于父子进程的通信(服务器端)

共享内存应该比较好吧
因为是多个程序间共享


然后使用服务器事件通知客户端(或是消息)
客户端读共享内存中数据

论坛徽章:
0
5 [报告]
发表于 2003-05-11 08:56 |只看该作者

关于父子进程的通信(服务器端)

可是服务器和客户端不在同一台机器上啊

论坛徽章:
0
6 [报告]
发表于 2003-05-11 10:55 |只看该作者

关于父子进程的通信(服务器端)

那只能每个客户都有一个socket连接到服务端
client监听这个socket
并解释

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2003-05-12 10:21 |只看该作者

关于父子进程的通信(服务器端)

现在从每个client端发来的其中一种信息需要由服务器转发给其他的client
可是服务器和客户端不在同一台机器上啊

使用shm能够实现,但是比较困难!在shm中可以保存socket描述字以及一些其它的信息,但是并不是连接,你可以把连接必须得信息提供给另外一个进程(例如你所描述的父进程),然后让这个进程去做socket连接和数据传输或关闭等操作。这些必要的信息当然能够借助于shm的。

论坛徽章:
0
8 [报告]
发表于 2003-05-12 13:15 |只看该作者

关于父子进程的通信(服务器端)

涉及到在各个client间转发消息功能的服务器,如果用fork子进程处理各个连接的方法不太好,应该用select来控制

用select统一侦听所有连接,收到消息后立即转发。

论坛徽章:
0
9 [报告]
发表于 2003-05-12 16:55 |只看该作者

关于父子进程的通信(服务器端)

这个时候,恐怕线程方便些。

论坛徽章:
0
10 [报告]
发表于 2003-05-12 17:29 |只看该作者

关于父子进程的通信(服务器端)

同意。

可以这样:

client request->; server(parent) pass to child ->; child process ->; child reply to client ->;child inform father ->; father inform other children ->; other children ...

原帖由 "zhlei" 发表:
涉及到在各个client间转发消息功能的服务器,如果用fork子进程处理各个连接的方法不太好,应该用select来控制

用select统一侦听所有连接,收到消息后立即转发。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP