1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| connect_to.sin_family = AF_INET; // TCP socket
connect_to.sin_port = htons(23);
connect_to.sin_addr.s_addr = inet_addr("127.0.0.1");
connected_socket = socket(AF_INET, socket_type,0); // create socket
ioctl_opt=1; // Must be >0 to pass in non block mode.
ioctlsocket(connected_socket,FIONBIO,&ioctl_opt);
if(connected_socket >=0) // ErrorWSACClient_RiTe("Error Opening socket: ");
{
connect(connected_socket,(struct sockaddr*)&connect_to,sizeof(connect_to));
fd_set wrset;
fd_set exset;
FD_ZERO(&wrset);
FD_ZERO(&exset);
FD_SET(connected_socket, &wrset);
FD_SET(connected_socket, &exset);
timeval time_socket;
time_socket.tv_sec=0;
time_socket.tv_usec=10000;
//wait until connect finishes
int result = select(0, 0, &wrset, &exset, &time_socket);
if(result==SOCKET_ERROR)
//error
else
{
if(result!=0 && wrset.fd_count>0)
{
//success
}
}
closesocket(connected_socket);
} |
Partager