SO_SNDBUF 發(fā)送緩沖區(qū)大小 int
設置發(fā)送緩沖區(qū)保留大小
與 SO_MAX_MSG_SIZE 或TCP滑動窗口無關如果一般發(fā)送包很大很頻繁那么解決這個選項
每個套接口都一個發(fā)送緩沖區(qū)和一個接收緩沖區(qū) 接收緩沖區(qū)被TCP和UDP用來將接收到數(shù)據(jù)一直保存到由解決進程來讀 TCP:TCP通告另一端窗口大小 TCP套接口接收緩沖區(qū)不可能溢出因為對方不允許發(fā)出超過所通告窗口大小數(shù)據(jù) 這就TCP流量控制如果對方無視窗口大小而發(fā)出了超過宙口大小數(shù)據(jù)則接 收方TCP將丟棄它 UDP:當接收到數(shù)據(jù)報價裝不進套接口接收緩沖區(qū)時此數(shù)據(jù)報價就被丟棄UDP沒 流量控制;快發(fā)送者可以很容易地就淹沒慢接收者導致接收方UDP丟棄數(shù)據(jù)報價
SO_RCVLOWAT 接收緩沖區(qū)下限 int
SO_SNDLOWAT 發(fā)送緩沖區(qū)下限 int
每個套接口都一個接收低潮限度和一個發(fā)送低潮限度它們函數(shù)selectt解決 接收低潮限度讓select返回“可讀”而套接口接收緩沖區(qū)中必須數(shù)據(jù)總量 ——對于一個TCP或UDP套接口此值缺省為1發(fā)送低潮限度讓select返回“可寫” 而套接口發(fā)送緩沖區(qū)中必須可用空間對于TCP套接口此值常缺省為2048 對于UDP解決低潮限度 由于其發(fā)送緩沖區(qū)中可用空間字節(jié)數(shù)從不變化只要 UDP套接口發(fā)送緩沖區(qū)大小大于套接口低潮限度這樣UDP套接口就總可寫 UDP沒發(fā)送緩沖區(qū)只發(fā)送緩沖區(qū)大小
SO_RCVTIMEO 接收超時 struct timeval
SO_SNDTIMEO 發(fā)送超時 struct timeval
SO_REUSERADDR 允許重用本地地址和端口 int
充許綁定已被解決地址(或端口號)可以辦法bindman
SO_EXCLUSIVEADDRUSE
獨占模式解決端口就不充許和其它源代碼解決SO_REUSEADDR共享解決某一端口
確定多重綁定解決誰時候根據(jù)一條原則誰指定最明確則將包遞交給誰而且沒權限之分也就說低級權限用戶可以重綁定高級權限如服務啟動端口上這非常重大一個安全隱患
如果不想讓自己源代碼被監(jiān)聽那么解決這個選項
SO_TYPE 獲得套接字類型 int
SO_BS數(shù)碼相機OMPAT 與BSD系統(tǒng)兼容 int
==========================================================================
IPPROTO_IP
--------------------------------------------------------------------------
IP_HDRINCL 數(shù)據(jù)包中包含IP首部 int
這個選項常用于黑客技術中隱藏自己IP地址
IP_OPTINOS IP首部選項 int
IP_TOS 服務類型
IP_TTL 生存時間 int
以下IPV4選項用于組播
IPv4 選項 數(shù)據(jù)類型 描 述
IP_ADD_MEMBERSHIP struct ip_mreq 加入到組播組中
IP_ROP_MEMBERSHIP struct ip_mreq 從組播組中退出
IP_MULTICAST_IF struct ip_mreq 指定提交組播報價文接口
IP_MULTICAST_TTL u_char 指定提交組播報價文TTL
IP_MULTICAST_LOOP u_char 使組播報價文環(huán)路效或無效
頭文件中定義了ip_mreq結構:
[code:1:63724de67f]
struct ip_mreq {
struct in_addr imr_multiaddr; /* IP multicast address of group */
struct in_addr imr_interface; /* local IP address of interface */
};
[/code:1:63724de67f]
若進程要加入到一個組播組中用soketsetsockopt()函數(shù)發(fā)送該選項該選項類型ip_mreq結構它第一個字段imr_multiaddr指定了組播組地址第二個字段imr_interface指定了接口IPv4地址
IP_DROP_MEMBERSHIP
該選項用來從某個組播組中退出數(shù)據(jù)結構ip_mreq解決辦法與上面相同
IP_MULTICAST_IF
該選項可以修改網(wǎng)絡接口結構ip_mreq中定義新接口
IP_MULTICAST_TTL
設置組播報價文數(shù)據(jù)包TTL(生存時間)默認值1表示數(shù)據(jù)包只能本地子網(wǎng)中傳送
IP_MULTICAST_LOOP
組播組中成員自己也會收到它向本組發(fā)送報價文這個選項用于抉擇否激活這種狀態(tài)