SOCKADDR_IN ssin; IN_ADDR iaddr; LPHOSTENT hostent; DWORD errr; char *ptr; char buff[4096],buffer[100];; while (1) { memset(&ssin, 0, sizeof(ssin)); ssin.sin_family = AF_INET; ssin.sin_port = htons(port); iaddr.s_addr = inet_addr(dns); if (iaddr.s_addr == INADDR_NONE) hostent = gethostbyname(dns); else hostent = gethostbyaddr((const char *)&iaddr, sizeof(struct in_addr), AF_INET); if (hostent == NULL) return 0; ssin.sin_addr = *((LPIN_ADDR)*hostent->h_addr_list); memset(nick, 0, sizeof(nick)); sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); errr = connect(sock, (LPSOCKADDR)&ssin, sizeof(SOCKADDR_IN)); if (err == SOCKET_ERROR) { closesocket(sock); Sleep(2000); continue;