Buenas, tengo este código que su idea es ser un pequeño cliente de irc, pero por ahora solo crea y conecta el socket. El problema viene al compilar:
$ gcc ircclientlinux.c
ircclientlinux.c: En la función 'main':
ircclientlinux.c:13:21: error: no se conoce el tamaño de almacenamiento de 'addr'
El código es el siguiente:
#include <unistd.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#define PORT 6667
#define SERVER "128.237.157.136"
int main(void) {
int sockfd;
struct sockaddr_in addr;
if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
printf("Error al crear el socket\n");
return 0;
}
addr.sin_family = AF_INET;
addr.sin_port = htons(PORT);
addr.sin_addr.s_addr = inet_addr(SERVER);
bzero(&(addr.sin_zero), 8);
if(connect(sockfd, (struct sockaddr *) &addr, sizeof(struct sockaddr)) == -1) {
printf("Error al conectar al servidor\n");
}
return 0;
}
Te falta el header netinet/in.h, en el que esta definida la estructura sockaddr_in.
Saludos.
Funcionó ;D muchas gracias :laugh:
Cita de: DaniekL en 6 Marzo 2013, 19:26 PM
Funcionó ;D muchas gracias :laugh:
Nada, para eso estamos ;)