Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - goro_333

#1
Hola a toda la gente del foro, estoy realizando un trabajo práctico de la materia Sistemas Operativos de la carrera Ingeniería en Sistemas de información en la UTN (Buenos Aires) y tengo un inconveniente con sockets. Estoy programando en Eclipse bajo el sistema operativo Ubuntu. Les cuento mi problema: en un header Sockets.h tengo la definición de la estructura t_socket_client y t_socket


#include <sys/socket.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct {
int desc;
struct sockaddr_in* my_addr;
e_socket_mode mode;
} t_socket;

typedef struct {
t_socket* socket;
t_socket* serv_socket;
e_socket_state state;
} t_socket_client;



y en el source file Sockets.c tengo la definición de una función sockets_createClient


#include "headers/Sockets.h"

t_socket_client *sockets_createClient(char *ip, int port)
{ struct t_socket_client client = malloc(sizeof(struct t_socket_client));

client->socket->my_addr->sin_family = AF_INET;
client->socket->my_addr->sin_addr->s_addr = inet_addr(ip);
client->socket->my_addr->sin_port = htons(port);
client->state = SOCKETSTATE_DISCONNECTED;
client->socket->desc = socket(AF_INET, SOCK_STREAM, 0);

bind(client->socket->desc, (struct sockaddr *)(client->socket->my_addr), sizeof(struct sockaddr_in));

return client;
}


y el Eclipse me pone errores en cada linea de esta función diciendo
Citar
"Multiple markers at this line
   - aplicación inválida de 'sizeof' a un tipo de dato incompleto 'struct
    t_socket_client'
   - la variable 'client' tiene inicializador pero de tipo de dato incompleto
   - aviso: variable 'client' sin usar [-Wunused-variable]"

Si alguien podría contestar, sería de mucha ayuda. Gracias por el espacio!