python socket发送16进制数据_python socket以16进制的数据进行传递与解析
参考:http://m.blog.csdn.net/blog/JasonQue/8256424
具体的struct模块的解释可以参照上面的链接。
struct.pack也就是将数据按照二进制的格式进行传输
#!/usr/bin/env python
#coding:utf-8
__author__ = ‘ferraborghini‘
from socket import *
import struct
#将16进制数据当做字节流传递
def dataSwitch(data):
str1 = ‘‘
str2 = ‘‘
while data:
str1 = data[0:2]
s = int(str1,16)
str2 += struct.pack(‘B‘,s)
data = data[2:]
return str2
if __name__ == "__main__":
HOST = ‘localhost‘
PORT = 21567
BUFSIZE = 1024
ADDR = (HOST,PORT)
tcpCliSock = socket(AF_INET,SOCK_STREAM)
tcpCliSock.connect(ADDR)
while True:
data = raw_input(‘>‘)
if not data:
break
tcpCliSock.send(dataSwitch(data))
data = tcpCliSock.recv(BUFSIZE)
if not data:
break
print data
tcpCliSock.close()
解析报文,这时候读入的其实相当于二进制流,我们要做的就将二进制流转化为16进制就行
#!/usr/bin/env python
#coding:utf-8
from socket import *
from time import ctime
if __name__ == "__main__":
HOST = ‘‘ #此处为空代表可以绑定所有有效地址
PORT = 21567
BUFSIZE = 1024
ADDR = (HOST,PORT)
tcpSerSocket = socket(AF_INET,SOCK_STREAM)
tcpSerSocket.bind(ADDR)
tcpSerSocket.listen(5) #最多可以有5个连接同时进入
while True:
print ‘waiting for connection...‘
tcpCliSock,addr = tcpSerSocket.accept()
print ‘...connected from:‘,addr
while True:
data = tcpCliSock.recv(BUFSIZE)
print data.encode(‘hex‘)
if not data:
break
tcpCliSock.send(‘[%s] %s‘%(ctime(),data))
# tcpCliSock.close() #如果接收完,就断开的话,下次再发送就会报错,书本上有问题
tcpSerSocket.close()
原文:http://www.cnblogs.com/ferraborghini/p/4970364.html
python socket发送16进制数据_python socket以16进制的数据进行传递与解析相关推荐
- python抓取数据库数据_Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储...
Python爬虫可以说是好玩又好用了.现想利用Python爬取网页股票数据保存到本地csv数据文件中,同时想把股票数据保存到MySQL数据库中.需求有了,剩下的就是实现了. 在开始之前,保证已经安装好 ...
- java socket发送定长报文_java使用Socket类接收和发送数据
网络应用分为客户端和服务端两部分,而Socket类是负责处理客户端通信的Java类.通过这个类可以连接到指定IP或域名的服务器上,并且可以和服务器互相发送和接受数据.在本文及后面的数篇文章中将详细讨论 ...
- python从txt拿取数据_python requests + xpath 获取分页详情页数据存入到txt文件中
直接代码,如有不懂请加群讨论 # *-* coding:utf-8 *-* # import json import requests import pytesseract import time i ...
- python模拟登录爬取数据_python 模拟登录爬取淘宝数据
淘宝现在需要登录才能爬取搜索商品,首先在登录页面登录chrome F12 开发者模式抓包 登录请求 发现有一个post请求,这个就是登录的请求了,看下面的from data 登录信息 由from da ...
- matlab如何读取excel文件中的数据?_Python自动化之从Excel文件读取数据
前言: 在Python语言,常用的excel读写库有xrld和openpyxl两个,当然pandas库也可以从excel文件中读取数据,但这里不建议使用.有个问题就是,xrld只能用于读取数据而不能用 ...
- python socket发送组播数据_Python socket 如何实现广播单播切换
展开全部 import timeimport threadingimport queueimport socket# 三个线程:e5a48de588b662616964757a686964616f31 ...
- python更新数据库表的时间字段_python更新数据库中某个字段的数据(方法详解)
连接数据库基本操作,我把每一步的操作是为什么给大家注释一下,老手自行快进. 请注意这是连接数据库操作,还不是更新. import pymysql #导包 #连接数据库 db = pymysql.con ...
- python后端接收数据_python后端开发使用flask接收前端数据,处理后返回结果
from flask import Flask, request import json, time, datetime import pysolr import pandas as pd ''' 使 ...
- python有什么库可以 从fig文件中读取数据_Python之matplotlib库学习:实现数据可视化...
1. 安装和文档 pip install matplotlib 为了方便显示图像,还使用了ipython qtconsole方便显示.具体怎么弄网上搜一下就很多教程了. pyplot模块是提供操作ma ...
最新文章
- 总统先生,一路走好!
- 2020 前端开源领域技术展望
- WCF服务寄宿IIS时.SVC文件无法浏览的解决办法
- vb中怎么使图片适应框的大小_叮!VB考前练习了解一下?
- 【Bringing Old Photos Back to Life】How to train?如何训练
- Oracle 存储过程、存储函数 与原生 JDBC 调用
- 【故障分析】基于matlab轴承故障分析(时频图+功率谱)【含Matlab源码 922期】
- 易语言内存不能为read错误解决方案和提高程序运行速度【转载】
- 网页无法打开...因为:net:ERR_CLEARTEXT_NOT_PERMITTED错误解决办法
- 将瀚高数据库表内数据导出Excel格式
- .Net框架设计(Yanlz+Unity+XR+C#+.Net+框架+框架设计+设计模式+工具可视化+SOA+立钻哥哥+==)
- 计算机网络——传输层
- 使用MQTTX 建立连接报Error: Connection refused: Not authorized 未授权
- RPC远程调用框架rsf和dubbo
- TAM: TEMPORAL ADAPTIVE MODULE FOR VIDEO RECOGNITION ∗
- GitHub如何征服了Google、微软及一切
- 数据挖掘 第四篇:OLS回归分析
- SEVERE: Could not contact localhost:8005. Tomcat may not be running.
- 中国医药零售行业发展机遇与营销前景模式咨询报告2022版
- 2021编程语言top10,C蝉联第一,Python超越Java成为第二
热门文章
- 传递情感贺卡海报,你知道怎么设计么?让设计更简单,从临摹PSD模板开始
- 海报PSD分层促销模板|深层剖析设计套路
- php7 测试数据库_达梦数据库PHP连接测试
- 3GPP Releases
- SeismicUnix:wtlib.c[小波变换库]
- C语言控制台窗口界面编程:printf格式化显示-修改字符字体、颜色和背景
- wpf label字体为斜体_2020年趋势:20款流行字体大预测
- eval()函数和zip()函数用法、enumerate()
- mybatis如何查询主键
- sqlserver2008未将对象引用设置到对象的实例_JVM | Java对象的创建、存储和访问详解...