estudiante

Páginas: 3 (520 palabras) Publicado: 5 de junio de 2013
SERVIDOR Y CLIENTE DE CHAT MINIMO

servidor-chat.c
/*
*
Servidor de chat mínimo
*
JAMJ - Enero 2006
*
*/
#include
#include
#include
#include
#define
#define
#define
#defineUSUARIOS
PORT
BACKLOG
TAM_BUFFER

10
3550
2
2000

/* Número de usuarios concurrentes */
/* El puerto que será abierto */
/* El número de conexiones permitidas */

int fd1;
/*Descriptor del servidor */
struct sockaddr_in servidor, cliente[USUARIOS]; /* Información del servidor y clientes */
int size;
/* Para tamaño de sockaddr_in */
int fd[USUARIOS];
pthread_t h[USUARIOS];char buffer[USUARIOS][TAM_BUFFER];
int i;

/* Descriptores de los clientes */

void *usuario (int id);

main()
{
/* Información del servidor en sockaddr_in */
servidor.sin_family = AF_INET;servidor.sin_port = htons(PORT);
/* Es necesario utilizar htons */
servidor.sin_addr.s_addr = inet_addr(INADDR_ANY); /* INADDR_ANY coloca nuestra dirección IP
automáticamente */bzero(&(servidor.sin_zero),8);
/* Escribimos ceros en el resto de la estructura */

/* socket() */
if ((fd1=socket(AF_INET, SOCK_STREAM, 0)) == -1 ) {
printf("error en socket()\n");
exit(-1);
}
/* bind() */if(bind(fd1,(struct sockaddr *)&servidor, sizeof(struct sockaddr))==-1) {
printf("error en bind() \n");
exit(-1);
}
/* listen() */
if(listen(fd1,BACKLOG) == -1) {
printf("error en listen()\n");exit(-1);
}

/* Inicializamos descriptores */
for (i=0; ih_addr pasa la información de ``*he''
a "h_addr" */
bzero(&(servidor.sin_zero),8);
/* Escribimos ceros en el resto de la estructura *//* socket() */
if ((fd=socket(AF_INET, SOCK_STREAM, 0))==-1){
printf("socket() error\n");
exit(-1);
}
/* connect() */
if(connect(fd, (struct sockaddr *)&servidor, sizeof(struct sockaddr))==-1){printf("connect() error\n");
exit(-1);
}
pthread_create (&rec, NULL, recibir, NULL);
pthread_create (&env, NULL, enviar, NULL);
pthread_join (rec, NULL);
pthread_join (env, NULL);
close(fd);...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Estudiante
  • Estudiante
  • Estudiante
  • Estudiante
  • El estudiante
  • Estudiante
  • Estudiante
  • Estudiante

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS