Comunicacion por sockets basica (mas o menos):
Servidor:
Código C:
Ver originalsockfd = socket(AF_INET, SOCK_STREAM, 0)
my_addr.sin_family = AF_INET; // Ordenación de bytes de la máquina
my_addr.sin_port = htons(puerto);
my_addr.sin_addr.s_addr = INADDR_ANY; // Rellenar con mi dirección IP
memset(&(my_addr.
sin_zero), '\0', 8); // Poner a cero el resto de la estructura
bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr)
listen(sockfd, BACKLOG)
new_fd = accept(sockfd, (struct sockaddr *)&their_addr,&sin_size)
recv(new_fd, buff, sizeof(buff), 0);
Cliente:
Código C:
Ver originalbzero((void *)&serverSockAddr,sizeof(serverSockAddr));
hostAddr = inet_addr(server_name);
bcopy((void *)&hostAddr,(void *)&serverSockAddr.sin_addr, sizeof(hostAddr));
serverSockAddr.sin_port = htons(port); // host to network port
serverSockAddr.sin_family = AF_INET; // AF_*** : INET=internet
to_server_socket = socket(AF_INET,SOCK_STREAM,0)
connect (to_server_socket, (struct sockaddr *)&serverSockAddr, sizeof(serverSockAddr)
En que funcion te esta fallando?
El puerto del servidor coincide con el del cliente? es un valor permitido? esta abierto en el servidor?