最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python編解碼16進制碼流的示例代碼

 更新時間:2024年04月26日 08:38:44   作者:橙虛的猿  
這篇文章主要為大家詳細介紹了Python編解碼16進制碼流的相關資料,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下

python編解碼16進制碼流

目前在做python + vue寫網(wǎng)站,最近遇到了用python代碼編解碼16進制的碼流,與c語言程序進行交互

自己寫了一個簡易版的客戶端與服務端的python代碼,利用到了 struct socket庫,因為使用的是udp,所以就簡單的調用一下庫

服務端代碼

import socket
import struct

# 創(chuàng)建UDP套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_address = ('localhost', 9999)

# 綁定地址和端口
server_socket.bind(server_address)

while True:
    print('Waiting for data...')
    data, client_address = server_socket.recvfrom(1024)
    
    # 打印接收到的原始數(shù)據(jù)的16進制碼流
    print(f'Received raw data: {data.hex()}')
    
    # 解析收到的數(shù)據(jù)
    name, age = struct.unpack('BB', data)  # 'BB'表示兩個unsigned char
    
    # 修改數(shù)據(jù)
    name = (name + 1) % 256
    age = (age + 1) % 256
    
    # 重新打包數(shù)據(jù)
    modified_data = struct.pack('BB', name, age)
    
    # 打印修改后的數(shù)據(jù)的16進制碼流
    print(f'Modified data: {modified_data.hex()}')
    
    # 發(fā)送修改后的數(shù)據(jù)回客戶端
    server_socket.sendto(modified_data, client_address)

客戶端代碼

import socket
import struct

# 創(chuàng)建UDP套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_address = ('localhost', 9999)

# 構建數(shù)據(jù)結構并打包
name = 100
age = 25
data = struct.pack('BB', name, age)

# 打印發(fā)送的數(shù)據(jù)的16進制碼流
print(f'Sending data: {data.hex()}')

# 發(fā)送數(shù)據(jù)
client_socket.sendto(data, server_address)

# 接收服務端響應
modified_data, server_address = client_socket.recvfrom(1024)

# 打印服務端響應的數(shù)據(jù)的16進制碼流
print(f'Received modified data: {modified_data.hex()}')

# 解析服務端響應的數(shù)據(jù)
modified_name, modified_age = struct.unpack('BB', modified_data)

print(f'Modified Name: {modified_name}')
print(f'Modified Age: {modified_age}')

# 關閉套接字
client_socket.close()

定時器(apscheduler)定時發(fā)送

加上定時器之后服務端代碼是一樣的, 客戶端代碼我設定的是10s發(fā)送一次

代碼如下:

import socket
import struct
from apscheduler.schedulers.background import BackgroundScheduler

def send_data():
    # 構建數(shù)據(jù)結構并打包
    name = 100
    age = 25
    data = struct.pack('BB', name, age)
    
    # 打印發(fā)送的數(shù)據(jù)的16進制碼流
    print(f'Sending data: {data.hex()}')
    
    # 發(fā)送數(shù)據(jù)
    client_socket.sendto(data, server_address)

# 創(chuàng)建UDP套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_address = ('localhost', 9999)

# 創(chuàng)建后臺調度器
scheduler = BackgroundScheduler()
scheduler.start()

# 添加定時發(fā)送數(shù)據(jù)的任務,每10秒執(zhí)行一次
scheduler.add_job(send_data, 'interval', seconds=10)

try:
    # 阻塞主線程,等待任務執(zhí)行
    while True:
        pass
except KeyboardInterrupt:
    # 捕獲Ctrl+C信號,停止調度器并關閉套接字
    scheduler.shutdown()
    client_socket.close()

到此這篇關于Python編解碼16進制碼流的示例代碼的文章就介紹到這了,更多相關Python編解碼16進制碼流內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • pytorch中Dropout的具體用法

    pytorch中Dropout的具體用法

    Dropout是一種常用的正則化技術,用于防止神經(jīng)網(wǎng)絡過擬合,PyTorch 提供了nn.Dropout層來實現(xiàn)這一功能,下面就來介紹一下如何使用,感興趣的可以了解一下
    2025-12-12
  • Django migrate報錯的解決方案

    Django migrate報錯的解決方案

    在講解如何解決migrate報錯原因前,我們先要了解migrate做了什么事情,本文就詳細的介紹migrate使用以及出現(xiàn)問題的解決,感興趣的可以了解一下
    2021-05-05
  • 跟老齊學Python之print詳解

    跟老齊學Python之print詳解

    print的一些基本用法,在前面的講述中也涉及一些,本講是在復習的基礎上,盡量再多點內容。
    2014-09-09
  • Python趣味挑戰(zhàn)之實現(xiàn)簡易版音樂播放器

    Python趣味挑戰(zhàn)之實現(xiàn)簡易版音樂播放器

    小伙伴們天天學編程應該都學累了,今天特地給大家整理了這篇文章,讓大家在學習的時候也收貨快樂,文中有非常詳細的代碼示例,需要的朋友可以參考下
    2021-05-05
  • python列表[list]和元組(tuple)詳情

    python列表[list]和元組(tuple)詳情

    這篇文章主要介紹了python列表[list]和元組(tuple)詳情,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • python正則表達式實例代碼

    python正則表達式實例代碼

    這篇文章主要介紹了python正則表達式的一些實例代碼,方便學習python的朋友,需要的朋友可以參考下
    2020-03-03
  • 探尋python多線程ctrl+c退出問題解決方案

    探尋python多線程ctrl+c退出問題解決方案

    這篇文章主要講述了探尋python多線程ctrl-c退出問題解決方案,需要的朋友可以參考下
    2014-10-10
  • matplotlib圖例、標簽、坐標軸刻度的字體設置方式

    matplotlib圖例、標簽、坐標軸刻度的字體設置方式

    這篇文章主要介紹了matplotlib圖例、標簽、坐標軸刻度的字體設置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • PyQt5+QtChart繪制散點圖

    PyQt5+QtChart繪制散點圖

    QChart是一個QGraphicScene中可以顯示的QGraphicsWidget。本文將利用QtChart實現(xiàn)繪制散點圖,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-12-12
  • Python切片知識解析

    Python切片知識解析

    這篇文章主要介紹了Python切片知識解析的相關資料,需要的朋友可以參考下
    2016-03-03

最新評論

襄樊市| 涟源市| 阿荣旗| 怀宁县| 肃北| 任丘市| 安塞县| 高唐县| 鄂州市| 绵阳市| 内丘县| 庐江县| 社会| 松阳县| 开平市| 海淀区| 双桥区| 丹东市| 金川县| 边坝县| 鄂温| 明光市| 吉木萨尔县| 渭源县| 盘山县| 凉城县| 丽江市| 永修县| 大竹县| 肥东县| 长治市| 仪陇县| 太谷县| 永德县| 巴林右旗| 藁城市| 海伦市| 会东县| 左权县| 忻州市| 蕲春县|