当本地有两个ip时希望两个ip方向来的数据都能接到
int getfd()
{
struct sockaddr_in ser_addr;
int server_fd, ret;
server_fd = socket(AF_INET, SOCK_DGRAM, 0);
if (server_fd < 0)
{
printf("create socket fail!\n");
return -1;
}
memset(&ser_addr, 0, sizeof(ser_addr));
ser_addr.sin_family = AF_INET;
ser_addr.sin_addr.s_addr = inet_addr(“0.0.0.0”);
ser_addr.sin_port = htons(SERVER_PORT);
bzero(&(ser_addr.sin_zero),8);
ret = bind(server_fd, (struct sockaddr*)&ser_addr, sizeof(ser_addr));
if (ret < 0)
{
printf("socket bind fail!\n");
return -1;
}
struct timeval timeOut;
timeOut.tv_sec = 15;
timeOut.tv_usec = 0;
if (setsockopt(server_fd, SOL_SOCKET, SO_RCVTIMEO, &timeOut, sizeof(timeOut)) < 0)
{
cout<< "time out setting failed" <<endl;
}
return server_fd;
}