Pourquoi suis-je la réception d'une chaîne de caractères à partir de la douille jusqu'à ce que le \n saut de ligne séquence d'échappement en python?

Il est censé recevoir à partir d'un socket tcp 2 de la ligne de chaîne, mais en fait, je suis recevant seulement la corde jusqu'à ce que la nouvelle ligne.

     socket = socket(AF_INET,SOCK_STREAM)
     socket.connect((ip,port))
     data = socket.recv(1024)
     print "%s" % data

si un appel de la fonction de réception de maintenant, il va recevoir la deuxième partie de la chaîne après le saut de ligne.Ce n'est pas ce que je veux en fait. Elle doit retourner l'ensemble de la chaîne depuis le premier appel.
Lorsque j'utilise nc pour se connecter au serveur je suis la réception de la chaîne normalement au début de la connexion.Pourquoi ça arrive?

en général: ne présumez pas que l'on appel recv() va recevoir ce que vous envoyez avec un send() de l'appel, le protocole TCP est un flux, pas de paquets/message de base.
Je ne veux pas recevoir ce que j'envoie. Lors de la première connexion au serveur vous invite sth (string\nstring) et j'ai envie de l'attraper avec un simple recv
comment faites-vous envoyer les 2 lignes du message, TCP recv n'est pas censé arrêter lors de la rencontre d'une EOL octet.
Je ne suis pas le propriétaire du serveur
Ne le serveur d'envoyer la première ligne et l'invite comme un paquet ou deux? Est-il un "terminator" dans l'invite de commandes qui dit "invite de commande, merci de l'écran"?

OriginalL'auteur curious | 2011-12-05