All pastes #285810 Raw Edit

Unnamed

public text v1 · immutable
#285810 ·published 2006-12-20 01:54 UTC
rendered paste body
/* 
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 <sys/types.h>
#include <stdio.h>
#include <inttypes.h>
#include <string.h>
#include <unistd.h>
#include <winsock.h>

#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 <server> <data1> <data2> ... <dataN>\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;
  
}