Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: DaniekL en 6 Marzo 2013, 19:07 PM

Título: Problema con sockets en linux
Publicado por: DaniekL en 6 Marzo 2013, 19:07 PM
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;
}
Título: Re: Problema con sockets en linux
Publicado por: 0xDani en 6 Marzo 2013, 19:18 PM
Te falta el header netinet/in.h, en el que esta definida la estructura sockaddr_in.

Saludos.
Título: Re: Problema con sockets en linux
Publicado por: DaniekL en 6 Marzo 2013, 19:26 PM
Funcionó  ;D muchas gracias  :laugh:
Título: Re: Problema con sockets en linux
Publicado por: 0xDani en 6 Marzo 2013, 19:31 PM
Cita de: DaniekL en  6 Marzo 2013, 19:26 PM
Funcionó  ;D muchas gracias  :laugh:

Nada, para eso estamos  ;)