Bonjour,

je suis entrain de developper un programme et j'ai un petit soucis,

je souhaite un serveur et j'ai un soucis lorsque je souhaite recuperer l'ip de ce serveur lorsque je cree une socket.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int     create_socket(int port)
{
  int sok;
  struct sockaddr_in addr;
  struct sockaddr_in m_addr;
 
  socklen_t len;
 
  len = sizeof m_addr;
  if ((sok = socket(AF_INET, SOCK_STREAM, 0)) == -1)
    return (ERRORSOCKET);
  addr.sin_family = AF_INET;
  addr.sin_addr.s_addr = INADDR_ANY;
  addr.sin_port = htons(port);
  if (bind(sok, (struct sockaddr *)&addr, sizeof(addr)) == -1)
    return (ERRORBIND);
  if (listen(sok, 42) == -1)
    return (ERRORLISTEN );
  getpeername(sok, (struct sockaddr*)&m_addr, &len);
  printf("Peer IP address: %s\n", inet_ntoa(m_addr.sin_addr));
  return (sok);
}
Voila l'IP que j'obtient :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Peer IP address: 0.0.0.0

je devrais obtenier 5x.7.25.x

Pouvez vous m'aider ?