1,317
社区成员
发帖
与我相关
我的任务
分享
WSADATA WSAData;
BOOL flag = true;
int nTimeOut =1000;
char LocalName[16];
SOCKADDR_IN addr_in;
struct hostent *pHost;
// const int BUFFER_SIZE =100;
SOCKET sock;
char RecvBuf[BUFFER_SIZE];
if(WSAStartup(MAKEWORD(2,2),&WSAData)!=0)return ;
if((sock=socket(AF_INET,SOCK_RAW,IPPROTO_RAW))==INVALID_SOCKET)return ;
if(gethostname((char*)LocalName,sizeof(LocalName))==SOCKET_ERROR)return ;
if((pHost=gethostbyname((char*)LocalName))==NULL)return ;
addr_in.sin_addr = *(in_addr *)pHost->h_addr_list[0];
addr_in.sin_family = AF_INET;
addr_in.sin_port = htons(31);
if(setsockopt(sock,IPPROTO_IP,IP_HDRINCL,(char *)&flag,sizeof(flag))==SOCKET_ERROR)return ;
if(bind(sock,(PSOCKADDR)&addr_in,sizeof(addr_in))==SOCKET_ERROR)
{
int iTmp=WSAGetLastError();
return;
}