Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Netzwerk-Verbindung mit TCP (Header auswerten)

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Gabriel Huber
Gast





BeitragVerfasst am: 20. Jun 2001 18:56   Titel: Netzwerk-Verbindung mit TCP (Header auswerten)

Ich hab, zu Testzwecken, ein kleines Serverprogramm programmiert, das mit:
struct sockaddr name;
int new_sock;
int s=sizeof(name);
new_sock=accept(listener, &name, (socklen_t*)&s);
eine Verbindung eines anderen Rechners animmt. Wie kann ich jetzt, vor oder nach dem accept, mit dem Serverprogramm herausfinden welcher Rechner sich mit dem Serverprogramm verbinden will. In sockaddr name soll laut info libc ein paar Informationen stehen. Wie kann ich aber diese Informationen auswerten? In name.sa_data standen zumindestens nicht gut lesbar und nicht so ohne weiteres auswertbar. Im TCP/ip Header müssten eigentlich doch Informationen über die Source-Adresse und den Port stehen.
 

hjb
Pro-Linux


Anmeldungsdatum: 15.08.1999
Beiträge: 3236
Wohnort: Bruchsal

BeitragVerfasst am: 21. Jun 2001 13:52   Titel: Re: Netzwerk-Verbindung mit TCP (Header auswerten)

Hi,

kürzlich selbst ausprobiert: nur im Falle eines erfolgreichen accept ist die Struktur mit Info gefüllt. Das heißt, du mußt erst accept machen, dann die IP-Adresse ansehen, und falls du keinen connect mit diesem Client machen willst, einfach den new_sock schließen.

Gruß,
hjb
_________________
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger

Gabriel Huber
Gast





BeitragVerfasst am: 21. Jun 2001 23:46   Titel: Re: Netzwerk-Verbindung mit TCP (Header auswerten)

OK, das ist schon mal ganz nützlich zu wissen, wäre jetzt auch noch ganz nützlich zu wissen wie ich die Ip-Addresse heraus krieg.

Schon mal im Voraus Danke.
Gabriel Huber
 

hjb
Pro-Linux


Anmeldungsdatum: 15.08.1999
Beiträge: 3236
Wohnort: Bruchsal

BeitragVerfasst am: 22. Jun 2001 19:57   Titel: Re: Netzwerk-Verbindung mit TCP (Header auswerten)

Hi,

etwa so:

struct sockaddr_in addr;
socklen_t nLen = sizeof(struct sockaddr);
int s;

if ((s = accept(g_socket, (struct sockaddr *) &addr, &nLen)) < 0)
{
printf("accept() fehlgeschlagen, errno = %d", errno);
return;
}

wxString ip = inet_ntoa(addr.sin_addr);
printf("Connect von %s", (const char *) ip);

Gruß,
hjb
_________________
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy