專案需要用到採用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,那麼我們來看乙個具體的例子...