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

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
bind(): Address already in use ?

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Netzwerk
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
marobu
Gast





BeitragVerfasst am: 20. Jun 2003 11:01   Titel: bind(): Address already in use ?

Hallo,

Ich habe einen Server, welche Nachricht von/an anderen Nutzer empfangen/senden kann, gestartet.
nun möchte ich den Server beenden bzw neu starten, bekomme ich diese Meldung:
bind(): Address already in use
Was ist das zu bedeuten ?

danke im voraus.
 

Jochen
Gast





BeitragVerfasst am: 20. Jun 2003 11:56   Titel: Re: bind(): Address already in use ?

Eine Software, die im Netz auf Clientanfragen lauscht, muss sich an einen den Clients bekannten Port binden. Webserver findet man typischerweise an Port 80, MTAs an Port 25, den sshd an Port 22 usw. Ist aber bereits ein anderer Prozess an den gewünschten Port gebunden, schlägt der bind()-Aufruf mit der o.a. Meldung fehl.

Prüfe mal mittels "netstat -lp", an welchen Ports welche Prozesse lauschen. Ich tippe einfach mal,m dass der Serer zum Schliessen ein bisschen Zeit braucht und daher die zweite, neu gestartete Instanz noch die erste am gewünschten Port vorfindet. Vielleicht reicht ein "sleep 5" zwischen den Stop-/Start-Komandos?

Jochen
 

marobu
Gast





BeitragVerfasst am: 20. Jun 2003 14:33   Titel: Re: bind(): Address already in use ?

Danke fuer den Tip.
Der Server startet beim ersten mal ohne Fehlermeldung.
beim zweiten mal ja, vieleicht ist der Port schon benutzt ist.
Aber mit ps laesst sich nicht sehen dass er gestartet ist.
 

hjb
Pro-Linux


Anmeldungsdatum: 15.08.1999
Beiträge: 3236
Wohnort: Bruchsal

BeitragVerfasst am: 20. Jun 2003 15:03   Titel: Re: bind(): Address already in use ?

Hi,

dann gibt es wohl noch eine Verbindung, die nicht vollständig abgebaut wurde. Verwende die Socket-Option SO_REUSEADDR:

code:
getsockopt(s, SOL_SOCKET, SO_REUSEADDR, &arg, &len);
arg = 1;
setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &arg, len);



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 -> Netzwerk Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

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