Code Serveur:
Pour votre code côté serveur, faire une boucle enveloppant l'acceptation d'appel. Pour le socket accepté créé, créez un nouveau thread, de sorte que l'acceptation suivante sera appelée immédiatement. Au démarrage du serveur, vous pouvez également utiliser l'indicateur SO_REUSEADDR. De cette façon, si vous avez eu un crash, ou même un redémarrage rapide du programme, votre serveur pourra à nouveau utiliser le même port sans problème.
Code client:
Pour votre code client vous suffit de cocher une erreur de socket et si cela se produit juste d'établir une nouvelle connexion.
Autres ressources:
Autres options:
Au lieu de simples prises de style bsd, vous pouvez également essayer d'utiliser boost asio pour faciliter la programmation socket. Vous pouvez consulter leur examples page.
Normalement, les serveurs ne se connectent pas aux serveurs. Et il y a trop d'ambiguïté "c'est dans ce qui est maintenant le deuxième paragraphe. S'il vous plaît, clarifiez ce que vous demandez, même si Brian Bondy a donné de bons conseils de toute façon. –