[問題] dup socket的問題
我想要利用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)
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章