2009-03-07 11 views
1

Ich brauche meinen Server, um mit dem Server verbunden zu bleiben. Weiß jemand, wie man das macht? Oder Post Links Tutorials alles?Wie starte ich ein Socket-Programm?

Auch es sagt, wenn es neu startet "konnte Client nicht annehmen" also, wie würde ich alles löschen und es akzeptieren lassen?

+0

Server verbinden sich normalerweise nicht mit Servern. Und es gibt zu viele zweideutige "es ist in dem, was jetzt der zweite Absatz ist. Bitte klären Sie, wonach Sie fragen - obwohl Brian Bondy trotzdem gute Ratschläge gegeben hat. –

Antwort

5

Server Code:

Für Ihre Server-Side-Code, führen Sie eine Schleife um den Anruf annehmen Verpackung. Erstellen Sie für den akzeptierten Socket, der erstellt wird, einen neuen Thread, sodass der nächste Accept sofort aufgerufen wird.

Beim Serverstart möchten Sie vielleicht auch das Flag SO_REUSEADDR verwenden. Auf diese Weise, wenn Sie einen Absturz oder sogar einen schnellen Neustart des Programms hatten, kann Ihr Server denselben Port wieder ohne Probleme verwenden.

Client-Code:

Für Ihren Client-Code würden Sie nur für einen Fehler Steckdose prüfen und wenn das geschieht gerade eine neue Verbindung herzustellen.

Weitere Informationen:

Weitere Optionen:

Statt Ebene bsd-Stil Steckdosen, könnten Sie versuchen auch boost asio für eine einfachere Socket-Programmierung verwendet wird. Sie können ihre examples page überprüfen.