作者:王丽珠景平怡伦_621 | 来源:互联网 | 2023-09-17 08:30
python socket 如何接收tcp/ip byte 格式的数据?下面的只能接收明文
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| import socketserver # 导入socketserver模块
class MyServer(socketserver.BaseRequestHandler): # 创建一个类,继承自socketserver模块下的BaseRequestHandler类
def handle(self): # 要想实现并发效果必须重写父类中的handler方法,在此方法中实现服务端的逻辑代码(不用再写连接准备,包括bind()、listen()、accept()方法)
while 1:
cOnn= self.request
addr = self.client_address
# 上面两行代码,等于 conn,addr = socket.accept(),只不过在socketserver模块中已经替我们包装好了,还替我们包装了包括bind()、listen()、accept()方法
while 1:
accept_data = conn.recv(1024)
#accept_data = int('0x4',16)
print(accept_data)
if accept_data == "byebye":
break
send_data = bytes(input(">>>>>"))
conn.sendall(send_data)
conn.close()
if __name__ == '__main__':
sever = socketserver.ThreadingTCPServer(("192.168.0.110", 10001),
MyServer) # 传入 端口地址 和 我们新建的继承自socketserver模块下的BaseRequestHandler类 实例化对象
sever.serve_forever() # 通过调用对象的serve_forever()方法来激活服务端 |