系統提供的socket緩沖區大小為8K,你可以将之設定為64K,尤其在傳輸實時視訊時。
//設定發送和接收緩沖區
int rcvbuf;
int rcvbufsize=sizeof(int);
if(getsockopt(m_Socket,SOL_SOCKET,SO_RCVBUF,(char*)
&rcvbuf,&rcvbufsize)!=SOCKET_ERROR)
{
if(rcvbuf<65536)
rcvbuf=65536;
setsockopt(m_Socket,SOL_SOCKET,SO_RCVBUF,(char*)
&rcvbuf,rcvbufsize);
}
if(getsockopt(m_Socket,SOL_SOCKET,SO_SNDBUF,(char*)
&rcvbuf,&rcvbufsize)!=SOCKET_ERROR)
{
if(rcvbuf<65536)
rcvbuf=65536;
setsockopt(m_Socket,SOL_SOCKET,SO_SNDBUF,(char*)
&rcvbuf,rcvbufsize);
}
轉載自:http://hi.baidu.com/auleaf/blog/item/a064a122d50135f7d7cae22e.html
在.net中可以這樣設定:請參考
StateObject.BufferSize