/* Programa que manda un string de 512 caracteres de una maquina a otra. para la clase de programacion II. Instituto Tecnologico de Ensenada. 20-Octubre 2006 por: Joel Rodriguez. Versamedium Web Services http://www.versamedium.com */ #include #include #include #include #include #include #define SERVER_PORT 1067 #define MAX_MSG 1536 #define PRINTERROR(s) \ fprintf(stderr,"\n%: %d\n", s, WSAGetLastError()) #define SIM_LENGTH 2000 /* number of integers to be written and read */ /* define IP_ADDRESS "200.94.161.124" Internet address of server */ /* #define PORT 8888 local port on which the server establishes connection */ int main (int argc, char *argv[]) { int port,i; char string1[40]; struct sockaddr_in localAddr, servAddr; struct hostent *h; FILE *matrizHAM; WORD wVersionRequested = MAKEWORD(1,1); WSADATA wsaData; char recibe[512]; char IP_ADDRESS[80]; char stripnumber[80]; int PORT; int nRet; short nPort; char *szServer; //short nPort; char cadenaflotantes[512]; char numerochar[4]; float *elnuevo; float *temporalf; float vector[512]; /* if(argc < 3) { printf("usage: %s ... \n",argv[0]); exit(1); } */ printf("usese como: manda-internet 192.168.0.4\n"); printf("A sockets connetion will be made at port number 1067 \n"); strncpy(string1, argv[1], 40); /*printf("%s\n",string1);*/ sscanf(string1, "%s", &stripnumber); port=1067; strcpy(IP_ADDRESS,stripnumber); PORT = port; nPort = port; // // Initialize WinSock and check the version // nRet = WSAStartup(wVersionRequested, &wsaData); if (wsaData.wVersion != wVersionRequested) { fprintf(stderr,"\n Wrong version\n"); //return; } // // Go do the stuff a stream client does // //StreamClient(IP_ADDRESS, nPort); szServer=IP_ADDRESS; printf("\nStream Client connecting to server: %s on port: %d\n",szServer, nPort); // // Find the server // LPHOSTENT lpHostEntry; lpHostEntry = gethostbyname(szServer); if (lpHostEntry == NULL) { PRINTERROR("gethostbyname()"); return; } // // Create a TCP/IP stream socket // SOCKET sock; printf("\nPaso1: \n"); sock = socket(AF_INET, // Address family SOCK_STREAM, // Socket type IPPROTO_TCP); // Protocol if (sock == INVALID_SOCKET) { PRINTERROR("socket()"); return; } printf("\nPaso2: \n"); // // Fill in the address structure // SOCKADDR_IN saServer; saServer.sin_family = AF_INET; saServer.sin_addr = *((LPIN_ADDR)*lpHostEntry->h_addr_list); // ^ Server's address saServer.sin_port = htons(nPort); // Port number from command line // // connect to the server // printf("Client is alive and establishing socket connection.\n"); nRet = connect(sock, // Socket (LPSOCKADDR)&saServer, // Server address sizeof(struct sockaddr));// Length of server address structure if (nRet == SOCKET_ERROR) { PRINTERROR("socket()"); printf("\nPaso3 error: \n"); closesocket(sock); return; } printf("Server is alive, socket connection established.\n"); strcpy(cadenaflotantes,"Hola Roberto clase de Programacion II?,.."); for(i=1;i<10000;i++){ send(sock,(char *)cadenaflotantes,512,MSG_OOB); recv(sock,(char *)recibe ,512, 0); printf("%d %s\n",i,recibe); } getchar(); getchar(); return 0; }