使用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網(wǎng)絡編程 使用UDP、TCP協(xié)議收發(fā)信息詳解
- python UDP(udp)協(xié)議發(fā)送和接收的實例
- python實現(xiàn)簡單tftp(基于udp協(xié)議)
- Python實現(xiàn)基于TCP UDP協(xié)議的IPv4 IPv6模式客戶端和服務端功能示例
- Python網(wǎng)絡編程之TCP與UDP協(xié)議套接字用法示例
- Python+Socket實現(xiàn)基于UDP協(xié)議的局域網(wǎng)廣播功能示例
- python3實現(xiàn)UDP協(xié)議的服務器和客戶端
- python實現(xiàn)的udp協(xié)議Server和Client代碼實例
- python 基于UDP協(xié)議套接字通信的實現(xiàn)
相關文章
Django認證系統(tǒng)user對象實現(xiàn)過程解析
這篇文章主要介紹了Django認證系統(tǒng)user對象實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-03-03
在python Numpy中求向量和矩陣的范數(shù)實例
今天小編就為大家分享一篇在python Numpy中求向量和矩陣的范數(shù)實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08

