作者jaw109 ()
看板LinuxDev
标题[问题] dup socket的问题
时间Mon Apr 9 17:25:45 2012
我想要利用Lighttpd做一些streaming的工作
不过其实Lighttpd的设计架构并不适合用来做streaming
所以我想要写一个plugin, 我的逻辑是
当plugin捕捉到他应该要处理的request时, 就接管server的工作
不过对Lighttpd不熟也没关系, 我希望大家对dup socket指点一二即可
我接管server的方式是当server accept一个connection以後
会得到一个client socket, 我把这个client socket拿去dup
产生一个所谓的dup_fd. 然後马上把client socket关掉
也就是说"server这边把client socket关掉, 但留下一个dup_fd"
然後拿这个dup_fd去别的process读写 去做任何我想做的事情(最後再close)
我的问题是:
请问当server开启一个网路连线时
是不是在所有跟这个connection连接的fd (有些是accept得到的, 有些是dup得到的)
全部都close以後, connection才会断开呢? (在没有对conneciton干扰的情况下)
请问除此之外还有哪些地方需要加强呢?
也许其实lighttpd有可能会强制关闭connection
导致我的plugin无法透过dup_fd来做streaming?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 113.196.51.165
※ 编辑: jaw109 来自: 113.196.51.165 (04/09 17:40)
※ 编辑: jaw109 来自: 113.196.51.165 (04/09 17:40)