python應用於網路 python應用於網路通訊

2021-10-18 15:25:16 字數 1426 閱讀 7350

專案需要用到採用python實現維護測試工具,測試物件是linux裝置,需要在pc端採用python獲取linux裝置相關資訊

一、採用udp獲取普通資訊

udpserver = socket(af_inet, sock_dgram)

udpserver.bind(ip, port)

data, client_addr = udpserver.recvfrom(bufsize)

二、採用tcp獲取重要資訊

tcpclient = socket(af_inet, sock_stream)

tcpclient.connect(ip, port)

data = tcpclient.recv(buffsize)

注:tcp獲取的網路報文時分片、組包的,需要考慮此種情況

三、採用python的ctypes進行解析網路中的報文

class abc_info_st(bigendianstructure):

_fields_ = [

('_info_a',    c_uint),

('_info_b',    c_ushort ),

('_info_c',    c_ubyte ),

('_recv',      c_ubyte * 3),

('_info_str',  c_char * 32),

根據linux裝置端的結構體資訊定義對應python端結構體資訊,字串注意採用c_char型別

abc_info = abc_info_st()

memmove(addressof(abc_info), data, sizeof(abc_info)) //data及為第

一、二節socket接收的data

print('%d %d %d %s ' % (abc_info._info_a, abc_info._info_b, abc_info._info_c,abc_info._info_s.decode()))

注:字串型別需要採用decode(原因是涉及到python的語言的編碼格式需要utf8、unicode等格式)

三、記錄日誌

with open('abc_log.log', 'a') as f:

f.write(abc_info._info_s.decode())

python做科學計算: http://www..com/moon1992/p/4946114.html

python中的父子程序          https://blog..net/wenzhou1219/article/details/81320622

udpserver使用         https://www..com/iq-python/p/6814529.html

python socketserver支援多執行緒模式       https://www..com/bigberg/p/7763503.html

微軟SDL應用於網路

在你的專案中實現有價值的sdl資源。安全的軟體開發周期 sdl 是乙個微軟開發設計軟體安全性的重要產品。當前面對黑客攻擊往往選擇在應用程式層,越來越多的程式設計師認識到sdl的重要性。為了支援程式設計師對sdl的需要,微軟建立了應用於網路的sdl產品。此試驗計畫包括專門從事應用程式安全性並具有豐富經...

要將PYTHON應用於工作啦

import time import sysimport optparse 操作 和同事名對應的檔案 opfile op name.txt 定義問題總數 list count sum 0 evaluation 十分滿意 limit time 120name dict name list limit ...

bitmap應用於排序

這種方法只適合 資料不重複,已知資料範圍 的情況來自於 程式設計珠璣 所謂的bit map就是用乙個bit位來標記某個元素對應的value,而key即是該元素。由於採用了bit為單位來儲存資料,因此在 儲存空間方面,可以大大節省。如果說了這麼多還沒明白什麼是bit map,那麼我們來看乙個具體的例子...