#include #include #include #include #include #include #define REMOTE_SERVER_PORT 6000 #define EXIT_CALL_STRING "#quit" char message[128]; int message_length = 0; char remote_ip[32]; void msg_err_exit(char *msg) { fprintf(stderr, msg); system("PAUSE"); exit(EXIT_FAILURE); } int main(int argc, char **argv) { int sd, rc, i; struct sockaddr_in cliAddr, remoteServAddr; WSADATA wsaData; LPHOSTENT lpHostEntry; printf("IP do servidor: "); scanf("%s", remote_ip); fflush(stdin); WSAStartup(MAKEWORD(2,0),&wsaData); lpHostEntry = gethostbyname(remote_ip); if (lpHostEntry == NULL) { msg_err_exit("servidor não encontrado"); } /* socket creation */ sd = socket(AF_INET,SOCK_DGRAM,0); if(sd<0) { msg_err_exit("não é possivel abrir socket"); } /* bind any port */ memset(&remoteServAddr, 0, sizeof(remoteServAddr)); cliAddr.sin_family = AF_INET; cliAddr.sin_addr.s_addr = htonl(INADDR_ANY); cliAddr.sin_port = htons(0); remoteServAddr.sin_family = AF_INET; remoteServAddr.sin_addr = *((LPIN_ADDR)*lpHostEntry->h_addr_list); // ^ Server's address remoteServAddr.sin_port = htons(REMOTE_SERVER_PORT); // Port number from command line /* send data */ // for(i=1;i