参考: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进制的数据进行传递与解析相关推荐

  1. python抓取数据库数据_Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储...

    Python爬虫可以说是好玩又好用了.现想利用Python爬取网页股票数据保存到本地csv数据文件中,同时想把股票数据保存到MySQL数据库中.需求有了,剩下的就是实现了. 在开始之前,保证已经安装好 ...

  2. java socket发送定长报文_java使用Socket类接收和发送数据

    网络应用分为客户端和服务端两部分,而Socket类是负责处理客户端通信的Java类.通过这个类可以连接到指定IP或域名的服务器上,并且可以和服务器互相发送和接受数据.在本文及后面的数篇文章中将详细讨论 ...

  3. python从txt拿取数据_python requests + xpath 获取分页详情页数据存入到txt文件中

    直接代码,如有不懂请加群讨论 # *-* coding:utf-8 *-* # import json import requests import pytesseract import time i ...

  4. python模拟登录爬取数据_python 模拟登录爬取淘宝数据

    淘宝现在需要登录才能爬取搜索商品,首先在登录页面登录chrome F12 开发者模式抓包 登录请求 发现有一个post请求,这个就是登录的请求了,看下面的from data 登录信息 由from da ...

  5. matlab如何读取excel文件中的数据?_Python自动化之从Excel文件读取数据

    前言: 在Python语言,常用的excel读写库有xrld和openpyxl两个,当然pandas库也可以从excel文件中读取数据,但这里不建议使用.有个问题就是,xrld只能用于读取数据而不能用 ...

  6. python socket发送组播数据_Python socket 如何实现广播单播切换

    展开全部 import timeimport threadingimport queueimport socket# 三个线程:e5a48de588b662616964757a686964616f31 ...

  7. python更新数据库表的时间字段_python更新数据库中某个字段的数据(方法详解)

    连接数据库基本操作,我把每一步的操作是为什么给大家注释一下,老手自行快进. 请注意这是连接数据库操作,还不是更新. import pymysql #导包 #连接数据库 db = pymysql.con ...

  8. python后端接收数据_python后端开发使用flask接收前端数据,处理后返回结果

    from flask import Flask, request import json, time, datetime import pysolr import pandas as pd ''' 使 ...

  9. python有什么库可以 从fig文件中读取数据_Python之matplotlib库学习:实现数据可视化...

    1. 安装和文档 pip install matplotlib 为了方便显示图像,还使用了ipython qtconsole方便显示.具体怎么弄网上搜一下就很多教程了. pyplot模块是提供操作ma ...

最新文章

  1. 总统先生,一路走好!
  2. 2020 前端开源领域技术展望
  3. WCF服务寄宿IIS时.SVC文件无法浏览的解决办法
  4. vb中怎么使图片适应框的大小_叮!VB考前练习了解一下?
  5. 【Bringing Old Photos Back to Life】How to train?如何训练
  6. Oracle 存储过程、存储函数 与原生 JDBC 调用
  7. 【故障分析】基于matlab轴承故障分析(时频图+功率谱)【含Matlab源码 922期】
  8. 易语言内存不能为read错误解决方案和提高程序运行速度【转载】
  9. 网页无法打开...因为:net:ERR_CLEARTEXT_NOT_PERMITTED错误解决办法
  10. 将瀚高数据库表内数据导出Excel格式
  11. .Net框架设计(Yanlz+Unity+XR+C#+.Net+框架+框架设计+设计模式+工具可视化+SOA+立钻哥哥+==)
  12. 计算机网络——传输层
  13. 使用MQTTX 建立连接报Error: Connection refused: Not authorized 未授权
  14. RPC远程调用框架rsf和dubbo
  15. TAM: TEMPORAL ADAPTIVE MODULE FOR VIDEO RECOGNITION ∗
  16. GitHub如何征服了Google、微软及一切
  17. 数据挖掘 第四篇:OLS回归分析
  18. SEVERE: Could not contact localhost:8005. Tomcat may not be running.
  19. 中国医药零售行业发展机遇与营销前景模式咨询报告2022版
  20. 2021编程语言top10,C蝉联第一,Python超越Java成为第二

热门文章

  1. 传递情感贺卡海报,你知道怎么设计么?让设计更简单,从临摹PSD模板开始
  2. 海报PSD分层促销模板|深层剖析设计套路
  3. php7 测试数据库_达梦数据库PHP连接测试
  4. 3GPP Releases
  5. SeismicUnix:wtlib.c[小波变换库]
  6. C语言控制台窗口界面编程:printf格式化显示-修改字符字体、颜色和背景
  7. wpf label字体为斜体_2020年趋势:20款流行字体大预测
  8. eval()函数和zip()函数用法、enumerate()
  9. mybatis如何查询主键
  10. sqlserver2008未将对象引用设置到对象的实例_JVM | Java对象的创建、存储和访问详解...