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

