套接字選項

選項影響套接字操做,如 封包路由,OOB數據傳輸,獲取和設置套接字選項分別是 getsockopt  setsockopt 用法以下:網絡

int getsockopt(SOCKET s,int level,int optname,char* optval,int* optlen);spa

int setsockopt(SOCKET s,int level,int optname,char* optval,int* optlen);code

 

每一個協議層套接字的選項有不一樣的級別:blog

應用層:SOL_SOCKET路由

傳輸層:IPPROTO_TCP  IPPROTO_UDPget

網絡層:IPPROTO_IPclass

 

阻塞模式下,能夠調用recvfrom在指定的端口接收網絡封包im

若是封包還不到,設置套接字選項便可設置等待時間數據

BOOL SetTimeout(SOCKET s,int nTime,BOOL bRecv) {   int ret = ::setsockopt(s,SOL_SOCKET,         brecv?SO_RCVTIMEO:SO_SNDTIMEO,(char*)&nTime,sizeof(nTime)); }
相關文章
相關標籤/搜索