Python TCP socket,解析hex和字符串。
#!/usr/bin/env python#coding:utf-8from socket import *import chardetdef shuncomdacode(data):""" 识别data的编码格式 """result = chardet.detect(data)print(result['encoding'])return (result['encoding'])def conn
·
#!/usr/bin/env python
#coding:utf-8
from socket import *
import chardet
def shuncomdacode(data):
""" 识别data的编码格式 """
result = chardet.detect(data)
print(result['encoding'])
return (result['encoding'])
def connetSocket(host,port,decode_hex):
BUFSIZE = 1024 # 字节,1024个字节
ADDR = (host, port)
tcpSerSocket = socket(AF_INET, SOCK_STREAM)
tcpSerSocket.bind(ADDR)
tcpSerSocket.listen(5) # 最多可以有5个连接同时进入
tcpCliSock, addr = tcpSerSocket.accept()
print('...connected from:', addr)
while True:
data = tcpCliSock.recv(BUFSIZE)
if not data:
break
if decode_hex == 'hex':
rec_data = ''
for i in range(0, len(data)):
rec_data = rec_data + '{:02X}'.format(data[i]) + ' '
recv_data = rec_data
print(recv_data)
else:
data_type = shuncomdacode(data)
recv_data = data.decode(data_type)
print(recv_data)
if __name__ == "__main__":
HOST = '0.0.0.0' # ip地址
PORT = 9091 # 端口
decode_hex = 'hex' # 接收数据格式hex,还是字符串。
connetSocket(HOST,PORT,decode_hex)
更多推荐
所有评论(0)