使用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 相关文章推荐
Python读取图片EXIF信息类库介绍和使用实例
Jul 10 Python
Python3基础之条件与循环控制实例解析
Aug 13 Python
Python常用小技巧总结
Jun 01 Python
python实现redis三种cas事务操作
Dec 19 Python
Tensorflow之Saver的用法详解
Apr 23 Python
Python中循环后使用list.append()数据被覆盖问题的解决
Jul 01 Python
Python批处理删除和重命名文件夹的实例
Jul 11 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
Oct 29 Python
python 提取tuple类型值中json格式的key值方法
Dec 31 Python
用python实现学生管理系统
Jul 24 Python
Django展示可视化图表的多种方式
Apr 08 Python
python tkinter实现定时关机
Apr 21 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
php一次性删除前台checkbox多选内容的方法
2013/09/22 PHP
ThinkPHP框架设计及扩展详解
2014/11/25 PHP
PHP实现的下载远程图片自定义函数分享
2015/01/28 PHP
PHP引用的调用方法分析
2016/04/25 PHP
jQuery 连续列表实现代码
2009/12/21 Javascript
浅说js变量
2011/05/25 Javascript
javascript动态修改Li节点值的方法
2015/01/20 Javascript
浅谈javascript事件取消和阻止冒泡
2015/05/26 Javascript
jQuery+HTML5美女瀑布流布局实现方法
2015/09/21 Javascript
基于canvas实现的绚丽圆圈效果完整实例
2016/01/26 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
2017/04/07 jQuery
jQuery上传插件webupload使用方法
2017/08/01 jQuery
利用CDN加速react webpack打包后的文件详解
2018/02/22 Javascript
Angular 容器部署的方法
2018/04/17 Javascript
vuex actions传递多参数的处理方法
2018/09/18 Javascript
微信上传视频文件提示(推荐)
2018/11/22 Javascript
微信小程序实现form表单本地储存数据
2019/06/27 Javascript
解决layui 三级联动下拉框更新时回显的问题
2019/09/03 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
2019/09/11 Javascript
JavaScript仿京东秒杀倒计时
2020/03/17 Javascript
JavaScript实现简单的图片切换功能(实例代码)
2020/04/10 Javascript
Python 中的with关键字使用详解
2016/09/11 Python
Python实现连接postgresql数据库的方法分析
2017/12/27 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
2018/01/30 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
python中使用zip函数出现错误的原因
2018/09/28 Python
使用numba对Python运算加速的方法
2018/10/15 Python
python列表推导式入门学习解析
2019/12/02 Python
CSS3 transform的skew属性值图文详解
2014/07/21 HTML / CSS
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
巴西食品补充剂在线零售商:Músculos na Web
2017/08/07 全球购物
美国瑜伽品牌:Gaiam
2017/10/31 全球购物
Hanro官网:奢华男士和女士内衣、睡衣和家居服
2018/10/25 全球购物
战略合作协议书范本
2014/04/18 职场文书
员工手册董事长致辞
2015/07/29 职场文书
Python中time标准库的使用教程
2022/04/13 Python