所以我是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。