我正在玩一個網絡服務器,使用unix套接字和sendmsg/recvmsg將套接字文件描述符傳遞給新的服務器進程,而不會丟失任何請求。使用ab進行測試時,我發現客戶端連接會徘徊,而apachebench(ab)會顯示錯誤:「apr_poll:指定的超時已過期(70007)」。使用文件描述符傳遞時預先存在的連接的狀態?
我懷疑文件描述符的地址發生了變化,這會導致打開的連接無效,但要確保每次請求結束時連接都關閉並沒有什麼區別,有幾個請求會失敗。
在套接字級還有一些額外的怪異或是隻是奇怪嗎?還有什麼我應該考慮的?
編輯:使用PHP作爲客戶端發出請求也會在週期中停頓。
你通過服務器套接字(調用接受的),或者單獨連接插座到其他服務器的過程? – user239558 2012-02-13 10:20:34
@ user239558傳遞服務器套接字。 – Scott 2012-02-16 22:43:14