如何从telnet服务器一次收到多个字符?

时间:2017-02-15 06:47:12

标签: python python-3.x sockets telnet

我打开CMD并使用以下命令创建telnet连接:

HR

连接将打开服务器打印"欢迎"正如您在下图中看到的那样

enter image description here

但是,当我在telnet窗口上输入时,它会一次发送一个字符,而不是完整的句子(例如,我会输入hello,它会一次向hello world发送一个字符),如下所示:

serveroutput:h serveroutput:e serveroutput:l serveroutput:l serveroutput:o

我希望它发送完整的单词hello或完整的句子,而不是一次发送一个字符。

我该怎么做?

以下是代码:

telnet localhost 5555

由于

1 个答案:

答案 0 :(得分:1)

根据评论中的建议,您需要为累积数据编写逻辑代码。类似的东西:

line = ""
while True:
    data = conn.recv(1024)
    for c in data:
        if c == ord('\n'):
            print "message: " + line
            line = ""
        else:
            line = line + c
    if not data: 
        break