2010-04-09 2 views
2

J'ai mis un serveur TCP et un code client dans le contrôleur PIC. Maintenant, je voulais juste savoir, le même appareil peut-il exécuter le client et le serveur à la fois? Et si possible pouvons-nous utiliser le même socket sur une pile TCP pour le serveur et pour le client?Le même socket peut-il être utilisé pour le serveur et le client?

+1

Qu'entendez-vous par client et serveur? Une pile TCP ne gère que les sockets. Vous pouvez utiliser le même socket pour tout ce que vous voulez, tant que votre protocole le gère. – WhirlWind

+2

Aussi, est-ce que vous confondez peut-être _ports_ et _sockets_? –

+0

Plus de détails s'il vous plaît. –

Répondre

1

Votre question sur l'utilisation de la même socket n'a pas vraiment de sens puisque probablement le client et le serveur sont des processus séparés, donc ils ne peuvent pas partager exactement le même socket. Pour un serveur, vous créez généralement un socket, puis bind à un port spécifique, et accept connexions. Pour le client, vous créez un socket et connect à une adresse spécifiée (une adresse IP et une paire de ports pour une connexion TCP/IP).

Le même périphérique peut exécuter un serveur TCP et un client en même temps. Vous pouvez démarrer l'écoute du serveur sur un port spécifique, puis connecter le client au même port et les deux programmes communiqueront entre eux.

Questions connexes