[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Maitretarot-devel-fr] test de libmaitretarot
From: |
philippe brochard |
Subject: |
[Maitretarot-devel-fr] test de libmaitretarot |
Date: |
12 May 2002 15:38:14 +0200 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Il manque la fonction
player.c:52: warning: implicit declaration of function `libmt_connect_to_socket'
dans net.c et net.h (qui est vide d'ailleurs)
resultat, le client ne peut pas se connecter à la socket.
voila à quoi elle resemble :
--- net.c -----------------------------------------------------------------
[...]
gint
connect_to_socket (GString * ip, guint16 port)
{
struct hostent server_address, *address;
struct sockaddr_in *client_sockaddr_in;
gint sock;
gint optval;
if ((address = gethostbyname (ip->str)) == NULL)
{
return (MT_ERROR_SOCKET_GETHOST_FAILED);
}
memcpy (&server_address, address, sizeof (struct hostent));
/* Open the server socket */
sock = socket (AF_INET, SOCK_STREAM, 6);
if (sock == -1)
{
return (MT_ERROR_SOCKET_SOCKET_FAILED);
}
optval = 1;
setsockopt (sock, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof (gint));
/* Get infos on the server */
if ((client_sockaddr_in = g_malloc (sizeof (struct sockaddr_in))) == NULL)
{
return (MT_ERROR_SOCKET_CREATION_FAILED);
}
client_sockaddr_in->sin_family = server_address.h_addrtype;
client_sockaddr_in->sin_port = htons (port);
memcpy ((gchar *) & (client_sockaddr_in->sin_addr.s_addr),
server_address.h_addr, server_address.h_length);
bzero ((gchar *) & (client_sockaddr_in->sin_zero),
sizeof (struct sockaddr) - __SOCKADDR_COMMON_SIZE -
sizeof (guint16) - sizeof (struct in_addr));
/* Connect to the server as a client */
if (connect
(sock, (struct sockaddr *) client_sockaddr_in,
sizeof (struct sockaddr_in)))
{
g_free (client_sockaddr_in);
return (MT_ERROR_SOCKET_CONNECT_FAILED);
}
g_free (client_sockaddr_in);
return (sock);
}
[...]
---------------------------------------------------------------------------
et l'enum pour les erreurs va dans net.h :
-- net.h ------------------------------------------------------------------
[...]
typedef enum {
MT_ERROR_SOCKET_GETHOST_FAILED = -1,
MT_ERROR_SOCKET_SOCKET_FAILED = -2,
MT_ERROR_SOCKET_CREATION_FAILED = -3,
MT_ERROR_SOCKET_CONNECT_FAILED = -4 }
error_socket_e;
[...]
---------------------------------------------------------------------------
Philippe
--
,-------------------. ,---------------,----------------------.
| Philippe Brochard | ... | address@hidden | http://hocwp.free.fr |
`------------------(_ (. .) `---------------'----------------------'
-------------------ooO--(_)--Ooo--------------------------------------
- [Maitretarot-devel-fr] test de libmaitretarot,
philippe brochard <=