[問題] dup socket的問題

看板LinuxDev作者時間13年前 (2012/04/09 17:25), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
我想要利用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)
文章代碼(AID): #1FWgiSxO (LinuxDev)
文章代碼(AID): #1FWgiSxO (LinuxDev)