我在学校有一个项目,所以我需要从用户(客户端)那里得到一个完整的消息,然后我需要对它做一些操作,在这个任务中,作为一个客户端,我从命令行使用windows telnet。所以我只得到一个字节(一个字母),但我需要在“回车”按钮后得到完整的字符串,请帮助我如何做到这一点?
import socket
PORT = 2020
IP = "127.0.0.1"
BUFFER = 2048
MAX_CLIENTS = 10
SHUTDOWN_CODE = 1
CONNECTION_CODE = 1
def listen():
connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connection.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, CONNECTION_CODE)
connection.bind((IP, PORT))
connection.listen(MAX_CLIENTS)
data = ""
data_str = ""
while True:
client_socket, address = connection.accept()
while True:
data = client_socket.recv(BUFFER)
data_str = data.decode("utf-8")
data_str = data_str.strip("/n")
data_str = data_str.strip("/r")
if len(data) == 0:
client_socket.shutdown(SHUTDOWN_CODE)
client_socket.close()
print("Disconnected!")
break
elif data:
client_socket.sendall(data)
print (data_str)
if __name__ == "__main__":
try:
listen()
except socket.error:
print("Server Error")
在此处输入图像描述
暂无答案!
目前还没有任何答案,快来回答吧!