python socket 如何接收tcp/ip byte 格式的数据?
迷茫
迷茫 2017-05-18 11:00:53
0
1
726

python socket 如何接收tcp/ip byte 格式的数据?下面的只能接收明文

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()方法来激活服务端
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复 (1)
我想大声告诉你

如果你的python3conn.recv()返回数据就是bytes,decode一下就是str类型。或者使用bytes比较。

if accept_data == b"byebye": break

处理accept_date数据的时候,decode即可,如果服务器返回的utf-8编码的,只需要accep_data.decode('utf-8')

    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责声明 Sitemap
    PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!