套接字超時
1 設置alarm席楚,在指定時間到達后產生SIGALARM信號
2 select支持timeout選項
3 使用SO_RECVTIMEO SOSNDTIMEO
上述的三個套接字是在通信時如send recv時可用,而在連接時(默認超時75s)則只能使用select方式。
標準IO(c語言的)
使用時需要注意緩沖:
1 完全緩沖凯亮,只有當緩沖區(qū)滿了再輸出
2 行緩沖 在遇到了換行符后就調用fflush
3 不緩沖
規(guī)則:標準錯誤不緩沖吃挑,標準輸入属愤、輸出是完全緩沖,終端設備是行緩沖诀蓉,其他IO流都是完全緩沖栗竖。
所以套接字是完全緩沖的,可使用setvbuf使得這個輸出流變?yōu)橥耆彌_的渠啤,或者在每次輸出后調用fflush來強制輸出狐肢,最好是干脆就不用標準IO。
高級輪詢
/dev/poll
select或poll使用時每次都得傳遞待查詢的文件描述符沥曹,使用/dev/poll則可以預先設置好待查詢的描述符列表份名,在調用之間維持狀態(tài)。