設定socket緩衝區大小

2021-06-08 06:49:23 字數 777 閱讀 5935

分類: 天上的星 亮晶晶

2008-11-18 16:50

2973人閱讀收藏 

舉報socket傳送資料時候先把資料傳送到socket緩衝區中,之後接受函式再從緩衝區中取資料,如果傳送端特別快的時候,緩衝區很快就被填滿(socket預設的是1024×8=8192位元組),這時候我們應該根據情況設定緩衝區的大小,可以通過setsockopt函式實現

int setsockopt(

sockets

,

intlevel

,

intoptname

,

const char*optval

,

intoptlen

);

eg:int optval = 1024*1024 ;

int optlen = sizeof(int);

setsockopt(socket, sol_socket,so_rcvbuf,(char*)&optval,optlen );

socket:傳輸資料的socket

sol_socket:基本套介面 

so_rcvbuf:接受資料的緩衝區

optval: 緩衝區大小

optlen :指向緩衝區大小變數的長度

網上還有很多關於這個函式的詳細說明。暫時沒有用到。以後再新增!

設定socket緩衝區大小

socket傳送資料時候先把資料傳送到socket緩衝區中,之後接受函式再從緩衝區中取資料,如果傳送端特別快的時候,緩衝區很快就被填滿 socket預設的是1024 8 8192位元組 這時候我們應該根據情況設定緩衝區的大小,可以通過setsockopt函式實現 intsetsockopt sock...

socket緩衝區大小

socket緩衝區大小預設為64 k 理論上最優大小為 頻寬乘以往返時間 rtt通過ping ip位址的最後一行得到,如下圖所示 一般把緩衝區大小的最優化設定需要參照頻寬與往返時間rtt得到的頻寬延遲bdp。假設應用程式是通過乙個 100mbps 的區域網進行通訊,其 rtt 為 10 ms,那麼 ...

緩衝區設定 套接字緩衝區大小及限制

pv4資料報的最大值是65535位元組,包括ipv4首部。ipv6資料報的最大值是65575位元組,包括40位元組的首部。mtu ip資料報的最大傳輸單元,乙太網的mtu是1500位元組。ipv4要求的最小鏈路mtu是68位元組。ipv6要求的最小鏈路mtu是1280位元組。如果乙個ipv6的資料報...