Example #1
0
/* Programa principal. Abre la conexión, recibe su número de cliente y
 * luego envía dicho número cada segundo */
main()
{
	int sock;		/* descriptor de conexión con el servidor */
	int buffer;		/* buffer de lectura de datos procedentes del servidor */
	int error;		/* error de lectura por el socket */

	/* Se abre una conexión con el servidor */
	sock = Abre_Conexion_Inet ("localhost", "8000");

	/* Se lee el número de cliente, dato que nos da el servidor. Se escribe
	 * dicho número en pantalla.*/
	error = Lee_Socket (sock, (char *)&buffer, sizeof(int));

	/* Si ha habido error de lectura lo indicamos y salimos */
	if (error < 1)
	{
		printf ("Me han cerrado la conexión\n");
		exit(-1);
	}

	/* Se escribe el número de cliente que nos ha enviado el servidor */
	printf ("Soy cliente %d\n", buffer);

	/* Bucle infinito. Envia al servidor el número de cliente y espera un
	 * segundo */
	while (1)
	{
		Escribe_Socket (sock, (char *)&buffer, sizeof(int));
		sleep (1);
	}
}
main ()
{
	/*
	* Descriptor del socket y buffer para datos
	*/
	int Socket_Con_Servidor;
	char Cadena[100];

	int i, j;

	ANGULOS ang;

	/*
	* Se abre la conexion con el servidor, pasando el nombre del ordenador
	* y el servicio solicitado.
	* "localhost" corresponde al nombre del mismo ordenador en el que
	* estamos corriendo. Esta dado de alta en /etc/hosts
	* "cpp_java" es un servicio dado de alta en /etc/services
	*/
	Socket_Con_Servidor = Abre_Conexion_Inet ("localhost", "cpp_java");
	if (Socket_Con_Servidor == -1)
	{
		printf ("No puedo establecer conexion con el servidor\n");
		exit (-1);
	}

//	/*
//	* Se prepara una cadena con 5 caracteres y se envia, 4 letras mas
//	* el \0 que indica fin de cadena en C
//	*/
//	strcpy (Cadena, "Hola");
//	Escribe_Socket (Socket_Con_Servidor, Cadena, 5);
//
//	/*
//	* Se lee la informacion enviada por el servidor, que se supone es
//	* una cadena de 6 caracteres.
//	*/
//	Lee_Socket (Socket_Con_Servidor, Cadena, 6);
//
//	/*
//	* Se escribe en pantalla la informacion recibida del servidor
//	*/
//	printf ("Soy cliente, He recibido : %s\n", Cadena);

	for(i=0; i<5; i++){
		ang.control = INTERMEDIO;
		for(j=0;j<20;j++)
			ang.angulo[j] = i*j;

		EnviarAngulos(&ang, Socket_Con_Servidor);
		printf("Soy cliente; he enviado 20 ángulos\n");
	}

	ang.control = ULTIMO;
	ang.angulo[0] = 0.9878;
	ang.angulo[19] = 1.386;

	EnviarAngulos(&ang, Socket_Con_Servidor);
	printf("Soy cliente; he enviado 20 ángulos\n");

	/*
	* Se cierra el socket con el servidor
	*/
	close (Socket_Con_Servidor);
}