2 * Ejemplo de server Datagram, para chateo P2P
4 * Por Ricardo Markiewicz
13 #include <arpa/inet.h>
14 #include <sys/types.h>
16 #define SERVER_PORT 4321
17 #define BUFFER_LEN 1024
19 int main(int argc, char *argv[])
22 struct sockaddr_in their_addr; /* Almacenara la direccion IP y numero de puerto del servidor */
26 fprintf(stderr,"usage: cliente hostname mensaje\n");
30 /* convertimos el hostname a su direccion IP */
31 if ((he=gethostbyname(argv[1])) == NULL) {
32 herror("gethostbyname");
36 /* Creamos el socket */
37 if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {
42 their_addr.sin_family = AF_INET; /* host byte order */
43 their_addr.sin_port = htons(SERVER_PORT); /* network byte order */
44 their_addr.sin_addr = *((struct in_addr *)he->h_addr);
45 bzero(&(their_addr.sin_zero), 8);
47 /* enviamos el mensaje, esta linea contiene una barra invertida al final,
48 * indicando que sigue abajo
50 if ((numbytes=sendto(sockfd,argv[2],strlen(argv[2]),0,(struct sockaddr *)&their_addr, sizeof(struct sockaddr))) == -1) {
55 printf("enviados %d bytes hacia %s\n",numbytes,inet_ntoa(their_addr.sin_addr));