getsockopt()
setsockopt()
optval中的返回值,0表示選項關閉,1表示選項打開
SO_BROADCAST套接口選項:
能或禁止進程發送廣播消息的能力。防止進程在應用程序未設計完成能廣播時就發送廣播信息。
SO_DEBUG套接口選項:
內核對TCP在此套接口所發送和接受的全部分組跟蹤詳細信息。
SO_DONTROUTE套接口選項:
規定發出的分組將旁路底層協議的正常路由機制。對於IPV4,分組指向本地接口
SO_ERROR套接口選項:
當套接口上發生錯誤時,內核經過下面兩種方式通知進程:
1 進程阻塞於select調用,select返回並設置其中的一個或者兩個條件
2 進程使用驅動IO模型,給進程或進程組生成信號SIGIO
SO_KEEPALIVE套接口選項:
爲了檢測對方主機是否崩潰
若是設置存活選項後,若兩個小時內都沒有數據交換,則自動發送給對方一個保持存活探測分節。
1 對方以指望的ACK響應,一切正常
2 對方以RST響應,告知已經崩潰,並重啓
3 若是一直沒有反應,套接口關閉
SO_LINGER套接口選項:
指定函數close對面向鏈接的協議如何操做。
TCP_KEEPALIVE套接口選項:
指定TCP發送保持存活探測分節前以秒爲單位的鏈接空閒時間。缺省爲7200秒
TCP_MAXRT套接口選項:
指定一旦TCP開始重傳數據,鏈接斷開以前需經理的時間總量。
TCP_MAXSEG套接口選項:
獲取或設置TCP鏈接的最大分節大小MSS
TCP_NODELAY套接口選項:
禁止TCP的Nagle算法
TCP_STDURG套接口選項
影響對TCP緊急指針的解釋
fcntl ---- file control文件控制,進行各類描述字控制操做。