如何解决如何从python中的套接字服务器获取完整字符串而不是一个字节?
我在学校有一个项目,所以我需要从用户(客户端)那里获得完整的消息,然后我需要对其进行一些操作,在此任务中,作为客户端,我从命令行使用 Windows telnet。所以我得到只有一个字节(一个字母)但我需要在“Enter”按钮后获取完整的字符串,请帮我怎么做?
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")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。