使用python編寫udp協(xié)議的ping程序方法
更新時間:2018年04月22日 13:13:46 作者:植物奶哇咔咔
下面小編就為大家分享一篇使用python編寫udp協(xié)議的ping程序方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
服務(wù)器端
import random from socket import * serverSocket = socket(AF_INET, SOCK_DGRAM)#建立udp協(xié)議的socket連接 serverSocket.bind(('', 12000)) while True: rand = random.randint(0, 10)#生成隨機數(shù),模擬udp環(huán)境下的丟包 message, address = serverSocket.recvfrom(1024)#接收客戶端發(fā)送的信息,應(yīng)該傳送ip地址比較好 message = message.upper() if rand < 4: continue#如果隨機數(shù)字小于4那么就模擬丟包,不進行回復(fù) serverSocket.sendto(message, address)
客戶端
from socket import * import time HOST = 'localhost' PORT = 12000 clientSocket = socket(AF_INET, SOCK_DGRAM)#使用udp協(xié)議 clientSocket.bind(('', 6000))#綁定端口6000, 也可以不綁定 for i in range(0,10):#發(fā)出十次ping try: start_time = time.time()#從發(fā)出報文開始計時 clientSocket.sendto('A',(HOST, PORT))#發(fā)送報文給服務(wù)器 clientSocket.settimeout(1.0)#設(shè)置socket等待時間 message, address = clientSocket.recvfrom(1024)#recvfrom設(shè)置了一秒的時間限制 end_time = time.time()#結(jié)束時間 print "Ping %d %f"%(i, end_time-start_time)#得到ttl,并顯示出來 except timeout:#如果超過時間,拋出一個timeout的錯誤 print "Resquest time out"
以上這篇使用python編寫udp協(xié)議的ping程序方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- python實現(xiàn)UDP協(xié)議下的文件傳輸
- python網(wǎng)絡(luò)編程 使用UDP、TCP協(xié)議收發(fā)信息詳解
- python UDP(udp)協(xié)議發(fā)送和接收的實例
- python實現(xiàn)簡單tftp(基于udp協(xié)議)
- Python實現(xiàn)基于TCP UDP協(xié)議的IPv4 IPv6模式客戶端和服務(wù)端功能示例
- Python網(wǎng)絡(luò)編程之TCP與UDP協(xié)議套接字用法示例
- Python+Socket實現(xiàn)基于UDP協(xié)議的局域網(wǎng)廣播功能示例
- python3實現(xiàn)UDP協(xié)議的服務(wù)器和客戶端
- python實現(xiàn)的udp協(xié)議Server和Client代碼實例
- python 基于UDP協(xié)議套接字通信的實現(xiàn)
相關(guān)文章
python刪除文件夾中具有相同后綴類型文件的實戰(zhàn)演練
在平時卸載軟件的時候會殘留許多文件和空文件夾,下面這篇文章主要給大家介紹了關(guān)于python刪除文件夾中具有相同后綴類型文件的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-03-03Python實現(xiàn)藍線挑戰(zhàn)特效的示例代碼
在抖音曾經(jīng)火了一陣子的藍線挑戰(zhàn)特效,其原理很簡單。本文將試著用opencv-python實現(xiàn)這個效果,做了攝像頭版本和視頻處理版本,感興趣的可以學(xué)習(xí)一下2022-10-10Python中實現(xiàn)結(jié)構(gòu)相似的函數(shù)調(diào)用方法
這篇文章主要介紹了Python中實現(xiàn)結(jié)構(gòu)相似的函數(shù)調(diào)用方法,本文講解使用dict和lambda結(jié)合實現(xiàn)結(jié)構(gòu)相似的函數(shù)調(diào)用,給出了不帶參數(shù)和帶參數(shù)的實例,需要的朋友可以參考下2015-03-03Python+matplotlib實現(xiàn)簡單曲線的繪制
Matplotlib是Python的繪圖庫,它能讓使用者很輕松地將數(shù)據(jù)圖形化,并且提供多樣化的輸出格式。本文將利用matplotlib繪制簡單的曲線圖,感興趣的朋友可以學(xué)習(xí)一下2022-04-04對Python中class和instance以及self的用法詳解
今天小編就為大家分享一篇對Python中class和instance以及self的用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06利用Python代碼實現(xiàn)數(shù)據(jù)可視化的5種方法詳解
在數(shù)據(jù)科學(xué)中,有多種工具可以進行可視化。下面這篇文章主要給大家介紹了關(guān)于利用Python代碼實現(xiàn)數(shù)據(jù)可視化的5種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2018-03-03