作者lungswu (想要逃.................)
看板Programming
标题Re: [问题] shared socket
时间Sun May 18 20:49:24 2008
※ 引述《nosrep (ㄎ)》之铭言:
: shared socket 的应用原因,
: 有两个现存的独立 processes, 本来都是用来提供网路服务的Server,
: 由於其中 Process1 是特别为了特殊任务专用的Server,
: 不希望把他跟原来Process2的程式混在一起~所以独立出来,
: Process1讯息解析完之後,将会把本来服务的用户端连线(socket or fd),
: 希望在不断连线的情况之下,能传递到 Process2 让其继续服务使用者.
: 我本来是不觉得这个方法可行,是有人跟我说到shared socket技术~
: 我写那麽久的网路程式,还真的没用到过...
: 在怎麽样也是让客户另外建一个连线,
: 不然逼不得已就是做个 pipe channel 之类的牺牲效能~
: ※ 引述《nosrep (ㄎ)》之铭言:
: : 请问有人在 unix系统使用shared socket的技术嘛?
: : 网路上似乎找不到文献...顶多看到的是 fork 出来的 processes 互相 shared.
: : 但是我想要的是两个独立 AP 之间的 shared socket 技术?
: : 请指教~
这边有几种方法,可以试试,可以行的通的
socketpair() function, Section 14.7 of UNPv1 有详尽的介绍
I_SENDFD, I_RECVFD of ioctl() function, Section 15.5.1 of APUE 有详尽的介绍
还有 Berkeley-delived kernel也有他的方法。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.73.175.18
1F:→ Lordaeron:socketpair是child/parent吧,可以不同?125.232.135.128 05/18 20:59
2F:→ Lordaeron:process? 双父?125.232.135.128 05/18 20:59
3F:→ Lordaeron:socketpair用法像pipe吧.125.232.135.128 05/18 21:05
4F:→ Lordaeron:跟shared socket 有像?125.232.135.128 05/18 21:06
5F:推 nosrep:这是IPC,不是我说的 shared socket 60.248.204.237 05/19 10:15
6F:→ lungswu:楼上要将socket id传到另一process,使别 59.120.197.247 05/19 10:40
7F:→ lungswu:的process也可以用该建立好的socket? 59.120.197.247 05/19 10:40
8F:→ Lordaeron:shared socket就是两个不同的父process125.232.139.104 05/19 13:02
9F:→ Lordaeron:共用同一个fd125.232.139.104 05/19 13:02
10F:→ nosrep:to lungswu: yes 60.248.204.237 05/19 17:01