选项影响套接字操做,如 封包路由,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)); }