使用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中针对函数处理的特殊方法
Mar 06 Python
python分割文件的常用方法
Nov 01 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
Sep 22 Python
python2.7+selenium2实现淘宝滑块自动认证功能
Feb 24 Python
python3处理含有中文的url方法
May 10 Python
python如何生成各种随机分布图
Aug 27 Python
python实现基于信息增益的决策树归纳
Dec 18 Python
Python实现简单石头剪刀布游戏
Jan 20 Python
PIL对上传到Django的图片进行处理并保存的实例
Aug 07 Python
python入门之井字棋小游戏
Mar 05 Python
jupyter notebook 添加kernel permission denied的操作
Apr 21 Python
Python中的特殊方法以及应用详解
Sep 20 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
PHP5中使用DOM控制XML实现代码
2010/05/07 PHP
如何取得中文字符串中出现次数最多的子串
2013/08/08 PHP
php数组键名技巧小结
2015/02/17 PHP
php递归删除指定文件夹的方法小结
2015/04/20 PHP
PHP XML Expat解析器知识点总结
2019/02/15 PHP
Js如何判断客户端是PC还是手持设备简单分析
2012/11/22 Javascript
node.js中的fs.createWriteStream方法使用说明
2014/12/17 Javascript
JavaScript实现添加、查找、删除元素
2015/07/02 Javascript
jQuery实现折叠、展开的菜单组效果代码
2015/09/16 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
JS制作图形验证码实现代码
2020/10/19 Javascript
BootStrap 超链接变按钮的实现方法
2016/09/25 Javascript
JavaScript 控制字体大小设置的方法
2016/11/23 Javascript
详解如何使用Vue2做服务端渲染
2017/03/29 Javascript
vuejs事件中心管理组件间的通信详解
2017/08/09 Javascript
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
nodejs使用async模块同步执行的方法
2019/03/02 NodeJs
通过layer实现可输入的模态框的例子
2019/09/27 Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
微信小程序如何实现radio单选框单击打勾和取消
2020/01/21 Javascript
JavaScript中使用Spread运算符的八种方法总结
2020/06/18 Javascript
[06:07]刀塔密之二:攻之吾命受之吾幸
2014/07/03 DOTA
Python查看多台服务器进程的脚本分享
2014/06/11 Python
Python KMeans聚类问题分析
2018/02/23 Python
Python的条件表达式和lambda表达式实例
2019/01/31 Python
分析经典Python开发工程师面试题
2019/04/08 Python
python opencv 二值化 计算白色像素点的实例
2019/07/03 Python
Python 进程之间共享数据(全局变量)的方法
2019/07/16 Python
Selenium常见异常解析及解决方案示范
2020/04/10 Python
python通过函数名调用函数的几种场景
2020/09/23 Python
英国马匹装备和马术用品购物网站:Equine Superstore
2019/03/03 全球购物
以设计师精品品质提供快速时尚:Mostata
2019/05/10 全球购物
好人好事事迹材料
2014/02/12 职场文书
中华魂放飞梦想演讲稿
2014/08/26 职场文书
西游记读书笔记
2015/06/25 职场文书
我的生日感言
2015/08/03 职场文书