日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
setsockopt用法及參數(shù)詳解

請教Linux關(guān)于UDP最大緩沖區(qū)設(shè)置?

1. tcp 收發(fā)緩沖區(qū)默認(rèn)值 [root@ ]# cat /proc/sys/net/ipv4/tcp_rmem 4096 87380 4161536 87380 :tcp接收緩沖區(qū)的默認(rèn)值 [root@ ]# cat /proc/sys/net/ipv4/tcp_wmem 4096 16384 4161536 16384 : tcp 發(fā)送緩沖區(qū)的默認(rèn)值 2. tcp 或udp收發(fā)緩沖區(qū)最大值 [root@ ]# cat /proc/sys/net/core/rmem_max 131071 131071:tcp 或 udp 接收緩沖區(qū)最大可設(shè)置值的一半。 也就是說調(diào)用 setsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen); 時rcv_size 如果超過 131071,那么 getsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen); 去到的值就等于 131071 * 2 = 262142 [root@ ]# cat /proc/sys/net/core/wmem_max 131071 131071:tcp 或 udp 發(fā)送緩沖區(qū)最大可設(shè)置值得一半。 跟上面同一個道理 3. udp收發(fā)緩沖區(qū)默認(rèn)值 [root@ ]# cat /proc/sys/net/core/rmem_default 111616:udp接收緩沖區(qū)的默認(rèn)值 [root@ ]# cat /proc/sys/net/core/wmem_default 111616 111616:udp發(fā)送緩沖區(qū)的默認(rèn)值 4. tcp 或udp收發(fā)緩沖區(qū)最小值 tcp 或udp接收緩沖區(qū)的最小值為 256 bytes,由內(nèi)核的宏決定; tcp 或udp發(fā)送緩沖區(qū)的最小值為 2048 bytes,由內(nèi)核的宏決定

如何判斷socket的連接狀態(tài)?

法一:當(dāng)recv()返回值小于等于0時,socket連接斷開。但是還需要判斷errno是否等于EINTR,如果errno==EINTR則說明recv函數(shù)是由于程序接收到信號后返回的,socket連接還是正常的,不應(yīng)close掉socket連接。

法二:structtcp_infoinfo;intlen=sizeof(info);getsockopt(sock,IPPROTO_TCP,TCP_INFO,&info,(socklen_t*)&len)

;if((info.tcpi_state==TCP_ESTABLISHED))則說明未斷開else斷開法三:若使用了select等系統(tǒng)函數(shù),若遠(yuǎn)端斷開,則select返回1,recv返回0則斷開。其他注意事項同法一。

法四:intkeepAlive=1;//開啟keepalive屬性intkeepIdle=60;//如該連接在60秒內(nèi)沒有任何數(shù)據(jù)往來,則進(jìn)行探測intkeepInterval=5;//探測時發(fā)包的時間間隔為5秒intkeepCount=3;//探測嘗試的次數(shù).如果第1次探測包就收到響應(yīng)了,則后2次的不再發(fā).setsockopt(rs,SOL_SOCKET,SO_KEEPALIVE,(void*)&keepAlive,sizeof(keepAlive))

;setsockopt(rs,SOL_TCP,TCP_KEEPIDLE,(void*)&keepIdle,sizeof(keepIdle))

;setsockopt(rs,SOL_TCP,TCP_KEEPINTVL,(void*)&keepInterval,sizeof(keepInterval))

;setsockopt(rs,SOL_TCP,TCP_KEEPCNT,(void*)&keepCount,sizeof(keepCount));設(shè)置后,若斷開,則在使用該socket讀寫時立即失敗,并返回ETIMEDOUT錯誤

到此,以上就是小編對于setsockopt nodelay的問題就介紹到這了,希望這2點(diǎn)解答對大家有用。


當(dāng)前題目:setsockopt用法及參數(shù)詳解
文章出自:http://www.5511xx.com/article/djjhish.html