运行python服务器脚本时,Telnet读取双字符

时间:2018-02-07 17:14:42

标签: python sockets cmd telnet

所以我是python的新手,我正在尝试学习一些套接字编程和以下脚本,当运行并通过telnet连接到服务器时,返回类似于" hheelllloo wwoorrlldd"而不是让我写'#34;你好世界"然后发送数据。我已经在线查看了,我已经尝试更改telnet中的localecho设置,但这也没有用。

服务器脚本是:

import socket
import sys
import threading

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(('127.0.0.1', 10000))
sock.listen(1)

connections = []

def handler(c, a):

    global connections

    while True:
        data = c.recv(1024)
        for connection in connections:
            connection.send(bytes(data))
        if not data:
            connections.remove(c)
            c.close()
            break

while True:
    c, a = sock.accept()
    conn_thread = threading.Thread(target = handler, args = (c, a))
    conn_thread.daemon = True
    conn_thread.start()
    connections.append(c)

运行时的代码应该向发件人返回他发送的文本。我认为我的角色是个性的,没有按下输入发送,我不知道为什么。我可能错了。

另外,如果这很重要,我正在运行Windows 10。

0 个答案:

没有答案