Serveur Telnet C++ Aide sur IP

Signaler
Messages postés
5
Date d'inscription
dimanche 7 décembre 2003
Statut
Membre
Dernière intervention
12 avril 2006
-
Messages postés
5
Date d'inscription
dimanche 7 décembre 2003
Statut
Membre
Dernière intervention
12 avril 2006
-
Bonjour je suis debutant et j'aimerai savoir comment recuperer l'ip dun client qui se connect a un serveur telnet:

jai recuperer ce serveur telnet si joint :

#include <winsock2.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32.lib")

int main(void)
{
SOCKET s;
SOCKET c;
sockaddr_in sin;
WSAEVENT EventClose = WSACreateEvent(); // on crée un EVENT

WSADATA wsa;
WSAStartup(MAKEWORD(2,0), &wsa);

s = socket(AF_INET, SOCK_STREAM, 0);

sin.sin_family = AF_INET;
sin.sin_port = htons(2000);
sin.sin_addr.S_un.S_addr = INADDR_ANY;

bind(s,(sockaddr *) &sin, sizeof(sin));
listen(s, 5);

int SinSize = sizeof(sin);

c = accept(s, (sockaddr *) &sin, &SinSize);
WSAEventSelect(c, EventClose, FD_CLOSE); // on lie l'EVENT au socket c
printf("connection accepte\n");

WSAWaitForMultipleEvents(1, &EventClose, FALSE, WSA_INFINITE, FALSE); // on attend l'EVENT.
printf("connection perdue\n");
return 0;
}

Merci ...

2 réponses

Messages postés
6
Date d'inscription
vendredi 17 janvier 2003
Statut
Membre
Dernière intervention
30 juin 2004

Oui,
Tu utilise pour ca getpeername(...)
Voila ton pseudo code :

c = accept(s, (sockaddr *) &sin, &SinSize);

int client_local;
struct sockaddr_in cliAddr;
int addr_len;
addr_len = sizeof(cliAddr);

getpeername(s, (struct sockaddr*)&cliAddr, &addr_len);

Hope it was helpful!...
a+
bat
Messages postés
5
Date d'inscription
dimanche 7 décembre 2003
Statut
Membre
Dernière intervention
12 avril 2006

merci je vais essayer tout cas !!!!!!