使用python編寫監(jiān)聽端
更新時(shí)間:2018年04月12日 10:11:50 作者:pingd
這篇文章主要為大家詳細(xì)介紹了使用python編寫監(jiān)聽端,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了python編寫監(jiān)聽端的具體代碼,供大家參考,具體內(nèi)容如下
import socket
import time
import sys
import string
import struct
import errno
import binascii
#Definition
ser_ip = 'localhost'
ser_port = 15001
HEADER_LISTENER = "IIII"
split_time = 4
class TcpClient:
def run_srv(self):
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
print ("Trying to connect server...")
addr = (ser_ip, ser_port)
print ("Connecting " + ser_ip + ":" + str(ser_port))
#Connect server
try:
sock.connect(addr)
except Exception,e:
print ("Error:%s" % (e))
sock.close()
sys.exit()
hl = struct.pack(HEADER_LISTENER,0,0,0,0)
header_len = len(hl)
while True:
try:
buf_recv = sock.recv(header_len)
buf_header = buf_recv[0:header_len]
thread_id = struct.unpack("!4I" , buf_header)[0]
err_num = struct.unpack("!4I" , buf_header)[1]
com_num = struct.unpack("!4I" , buf_header)[2]
wait_num = struct.unpack("!4I" , buf_header)[3]
#print("header len %d, recv len %d,buf_header:%s,buf_recv:%s")%(header_len,len(buf_recv),binascii.hexlify(buf_header),binascii.hexlify(buf_recv))
print ("split time:%d")%(split_time)
print ("thread id :%d")%(thread_id)
print ("error nums:%d")%(err_num)
print ("compl nums:%d")%(com_num)
print ("wait nums:%d")%(wait_num)
print ("----------------------")
except Exception,e:
print ("Error:%s" % (e))
sock.close()
sys.exit()
if __name__ == '__main__':
if (len(sys.argv) >= 2):
ser_port = int(sys.argv[1])
client = TcpClient()
client.run_srv()
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Python 通過監(jiān)聽端口實(shí)現(xiàn)唯一腳本運(yùn)行方式
- python hook監(jiān)聽事件詳解
- Python文件監(jiān)聽工具pyinotify與watchdog實(shí)例
- Python實(shí)現(xiàn)一個(gè)服務(wù)器監(jiān)聽多個(gè)客戶端請求
- Python簡單實(shí)現(xiàn)socket信息發(fā)送與監(jiān)聽功能示例
- Python利用pyHook實(shí)現(xiàn)監(jiān)聽用戶鼠標(biāo)與鍵盤事件
- Python中使用PyHook監(jiān)聽鼠標(biāo)和鍵盤事件實(shí)例
- Python持續(xù)監(jiān)聽文件變化代碼實(shí)例
相關(guān)文章
使用python從三個(gè)角度解決josephus問題的方法
這篇文章主要介紹了使用python從三個(gè)角度解決josephus問題的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
django 實(shí)現(xiàn)手動存儲文件到model的FileField
這篇文章主要介紹了django 實(shí)現(xiàn)手動存儲文件到model的FileField,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python實(shí)現(xiàn)將羅馬數(shù)字轉(zhuǎn)換成普通阿拉伯?dāng)?shù)字的方法
這篇文章主要介紹了Python實(shí)現(xiàn)將羅馬數(shù)字轉(zhuǎn)換成普通阿拉伯?dāng)?shù)字的方法,簡單分析了羅馬數(shù)字的構(gòu)成并結(jié)合實(shí)例形式給出了Python轉(zhuǎn)換羅馬數(shù)字為阿拉伯?dāng)?shù)字的實(shí)現(xiàn)方法,需要的朋友可以參考下2017-04-04
運(yùn)用PyTorch動手搭建一個(gè)共享單車預(yù)測器
這篇文章主要介紹了運(yùn)用PyTorch動手搭建一個(gè)共享單車預(yù)測器,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
Python?numpy中np.random.seed()的詳細(xì)用法實(shí)例
在學(xué)習(xí)人工智能時(shí),大量的使用了np.random.seed(),利用隨機(jī)數(shù)種子,使得每次生成的隨機(jī)數(shù)相同,下面這篇文章主要給大家介紹了關(guān)于Python?numpy中np.random.seed()的詳細(xì)用法,需要的朋友可以參考下2022-08-08
python 返回一個(gè)列表中第二大的數(shù)方法
今天小編就為大家分享一篇python 返回一個(gè)列表中第二大的數(shù)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07

