使用python编写udp协议的ping程序方法


Posted in Python onApril 22, 2018

服务器端

import random 
from socket import * 
serverSocket = socket(AF_INET, SOCK_DGRAM)#建立udp协议的socket连接 
serverSocket.bind(('', 12000)) 
while True: 
 rand = random.randint(0, 10)#生成随机数,模拟udp环境下的丢包 
 message, address = serverSocket.recvfrom(1024)#接收客户端发送的信息,应该传送ip地址比较好 
 message = message.upper() 
 if rand < 4: continue#如果随机数字小于4那么就模拟丢包,不进行回复 
 serverSocket.sendto(message, address)

客户端

from socket import * 
import time 
HOST = 'localhost' 
PORT = 12000 
clientSocket = socket(AF_INET, SOCK_DGRAM)#使用udp协议 
clientSocket.bind(('', 6000))#绑定端口6000, 也可以不绑定 
 
for i in range(0,10):#发出十次ping 
 try: 
  start_time = time.time()#从发出报文开始计时 
  clientSocket.sendto('A',(HOST, PORT))#发送报文给服务器 
  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协议的ping程序方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python3生成随机数实例
Oct 20 Python
零基础写python爬虫之抓取糗事百科代码分享
Nov 06 Python
python通过socket查询whois的方法
Jul 18 Python
Saltstack快速入门简单汇总
Mar 01 Python
利用python的socket发送http(s)请求方法示例
May 07 Python
使用Python进行QQ批量登录的实例代码
Jun 11 Python
详解python做UI界面的方法
Feb 27 Python
python如何获取列表中每个元素的下标位置
Jul 01 Python
python小程序基于Jupyter实现天气查询的方法
Mar 27 Python
Linux安装Python3如何和系统自带的Python2并存
Jul 23 Python
Python基于traceback模块获取异常信息
Jul 23 Python
python 提高开发效率的5个小技巧
Oct 19 Python
python 实现判断ip连通性的方法总结
Apr 22 #Python
Python数据结构之哈夫曼树定义与使用方法示例
Apr 22 #Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
Apr 22 #Python
Python3使用正则表达式爬取内涵段子示例
Apr 22 #Python
Python贪心算法实例小结
Apr 22 #Python
python 判断网络连通的实现方法
Apr 22 #Python
Python3之读取连接过的网络并定位的方法
Apr 22 #Python
You might like
怎么在Windows系统中搭建php环境
2013/08/31 PHP
php解析url的三个示例
2014/01/20 PHP
php画图实例
2014/11/05 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
2015/05/27 PHP
PHP面向对象之里氏替换原则简单示例
2018/04/08 PHP
JS+ACTIVEX实现网页选择本地目录路径对话框
2013/03/18 Javascript
深入理解JavaScript中的对象复制(Object Clone)
2016/05/18 Javascript
javascript数组常用方法汇总
2016/09/10 Javascript
React简单介绍
2017/05/24 Javascript
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
node thread.sleep实现示例
2018/06/20 Javascript
js中apply和call的理解与使用方法
2019/11/27 Javascript
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
[01:19:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第二局
2016/03/05 DOTA
Python中使用partial改变方法默认参数实例
2015/04/28 Python
Python发送以整个文件夹的内容为附件的邮件的教程
2015/05/06 Python
python处理csv数据动态显示曲线实例代码
2018/01/23 Python
浅谈tensorflow中几个随机函数的用法
2018/07/27 Python
Python实现Dijkstra算法
2018/10/17 Python
对IPython交互模式下的退出方法详解
2019/02/16 Python
Python实现连接MySql数据库及增删改查操作详解
2019/04/16 Python
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
Atom Python 配置Python3 解释器的方法
2019/08/28 Python
jupyter note 实现将数据保存为word
2020/04/14 Python
Python自动巡检H3C交换机实现过程解析
2020/08/14 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
2020/11/19 Python
Html5移动端弹幕动画实现示例代码
2018/08/27 HTML / CSS
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
2020/03/17 HTML / CSS
英国女士家居服网站:hush
2017/08/09 全球购物
美国迪克体育用品商店:DICK’S Sporting Goods
2018/07/24 全球购物
线程同步的方法
2016/11/23 面试题
Laravel的加密解密与哈希实例讲解
2021/03/24 PHP
《三顾茅庐》教学反思
2014/04/10 职场文书
机关党员进社区活动总结
2014/07/05 职场文书
tensorflow中的数据类型dtype用法说明
2021/05/26 Python
索尼ICF-5900W收音机测评
2022/04/24 无线电