使用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字符串特性及常用字符串方法的简单笔记
Jan 04 Python
获取Django项目的全部url方法详解
Oct 26 Python
Python对多属性的重复数据去重实例
Apr 18 Python
centos 安装Python3 及对应的pip教程详解
Jun 28 Python
python如何获取列表中每个元素的下标位置
Jul 01 Python
Django实现auth模块下的登录注册与注销功能
Oct 10 Python
在pandas中遍历DataFrame行的实现方法
Oct 23 Python
python中os包的用法
Jun 01 Python
pytorch  网络参数 weight bias 初始化详解
Jun 24 Python
python使用nibabel和sitk读取保存nii.gz文件实例
Jul 01 Python
django数据模型中null和blank的区别说明
Sep 02 Python
numpy实现RNN原理实现
Mar 02 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
第七节 类的静态成员 [7]
2006/10/09 PHP
php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
2011/10/31 PHP
PHP使用静态方法的几个注意事项
2014/09/16 PHP
详解PHP5.6.30与Apache2.4.x配置
2017/06/02 PHP
Ext JS Grid在IE6 下宽度的问题解决方法
2009/02/15 Javascript
JQuery 图片滚动轮播示例代码
2014/03/24 Javascript
javascript关于继承的用法汇总
2014/12/20 Javascript
JavaScript中的object转换函数toString()与valueOf()介绍
2014/12/31 Javascript
javascript父子页面通讯实例详解
2015/07/17 Javascript
跟我学习javascript的作用域与作用域链
2015/11/19 Javascript
jQuery实现form表单元素序列化为json对象的方法
2015/12/09 Javascript
jQuery图片左右滚动代码 有左右按钮实例
2016/06/20 Javascript
Javascript之深入浅出prototype
2017/02/06 Javascript
详解JS: reduce方法实现 webpack多文件入口
2017/02/14 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
Vue监听页面刷新和关闭功能
2019/06/20 Javascript
小程序中英文混合排序问题解决
2019/08/02 Javascript
微信小程序 调用远程接口 给全局数组赋值代码实例
2019/08/13 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
2021/01/07 Vue.js
简化Python的Django框架代码的一些示例
2015/04/20 Python
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
python实现unicode转中文及转换默认编码的方法
2017/04/29 Python
浅谈numpy数组的几种排序方式
2017/12/15 Python
详解TensorFlow查看ckpt中变量的几种方法
2018/06/19 Python
20行python代码实现人脸识别
2019/05/05 Python
Win10 安装PyCharm2019.1.1(图文教程)
2019/09/29 Python
10个示例带你掌握python中的元组
2020/11/23 Python
CSS3 创建网页动画实现弹跳球动效果
2018/10/30 HTML / CSS
用HTML5.0制作网页的教程
2010/05/30 HTML / CSS
PUMA澳大利亚官方网站:德国运动品牌
2018/10/19 全球购物
缅怀革命先烈演讲稿
2014/05/14 职场文书
演讲稿的格式及范文
2014/08/22 职场文书
作风建设剖析材料
2014/10/06 职场文书
幼儿园个人师德总结
2015/02/06 职场文书
2015庆祝七一建党节94周年活动总结
2015/03/20 职场文书
2016年圣诞节寄语(一句话)
2015/12/07 职场文书