Comment communiquez-vous avec un serveur distant, qui enverra toujours ses paquets de réponses à vos demandes, à l'IP/Port Tuple les demandes proviennent? En TCP vous aurez toujours besoin de deux prises. Un pour le serveur local et un pour le client local . Comme il est impossible de les lier à exactement le même port, disons que je lie la prise Server au port X et la prise Client au port Y. Maintenant, l'envoi d'une demande à l'aide de mon client local au serveur distant, provoquerait que la Server distant respectivement maintenant la client distant envoie sa réponse au port Y, mais mon serveur local écoute sur le port X.TCP sockets et l'occupation des ports
Je ne peux pas utiliser un seul socket pour l'envoi et la réception, comme dans UDP, ni je peux lier deux fois le même port.
Pourquoi avez-vous besoin d'un serveur local? Si vous vous connectez à un serveur distant, vous créez simplement un client local qui envoie une requête et gère les écritures sur le socket. Regardez [this] (https://docs.python.org/2/library/socket.html#example) exemple de la documentation de la socket – plover
Merci pour votre réponse. Parlez-vous de ceci: "data = s.recv (1024)" dans mon client local? Je pensais que ce serait un simple ack pour ma demande si la réponse du serveur distant est là, cela résoudrait mon problème, je n'ai pas mentionné cela. –
Oui, la réponse serait écrite sur la même socket. Et vous pouvez le lire en utilisant 'recv()' – plover