使用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 相关文章推荐
把项目从Python2.x移植到Python3.x的经验总结
Apr 20 Python
Python数据类型学习笔记
Jan 13 Python
Python中你应该知道的一些内置函数
Mar 31 Python
pandas中的DataFrame按指定顺序输出所有列的方法
Apr 10 Python
Flask框架Flask-Principal基本用法实例分析
Jul 23 Python
python 判断矩阵中每行非零个数的方法
Jan 26 Python
详解Python locals()的陷阱
Mar 26 Python
python内置模块collections知识点总结
Dec 19 Python
Python之关于类变量的两种赋值区别详解
Mar 12 Python
Django ORM filter() 的运用详解
May 14 Python
PyCharm 解决找不到新打开项目的窗口问题
Jan 15 Python
写一个Python脚本下载哔哩哔哩舞蹈区的所有视频
May 31 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操作SVN版本服务器类代码
2011/11/27 PHP
php写app接口并返回json数据的实例(分享)
2017/05/20 PHP
php use和include区别总结
2019/10/13 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2007/02/15 Javascript
javascript+xml技术实现分页浏览
2008/07/27 Javascript
JS图片根据鼠标滚动延时加载的实例代码
2013/07/13 Javascript
jquery弹出框的用法示例(2)
2013/08/26 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
2014/02/19 Javascript
JavaScript中的alert()函数使用技巧详解
2014/12/29 Javascript
简介JavaScript中setUTCSeconds()方法的使用
2015/06/12 Javascript
jQuery表格行上移下移和置顶的实现方法
2015/10/08 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
2015/10/23 Javascript
js获取css的各种样式并且设置他们的方法
2017/08/22 Javascript
vue单文件组件lint error自动fix与styleLint报错自动fix详解
2019/01/08 Javascript
JavaScript实现与使用发布/订阅模式详解
2019/01/19 Javascript
vue.js购物车添加商品组件的方法
2019/09/17 Javascript
微信小程序调用wx.getImageInfo遇到的坑解决
2020/05/31 Javascript
koa中间件核心(koa-compose)源码解读分析
2020/06/15 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
2020/08/31 Javascript
Python读取键盘输入的2种方法
2015/06/16 Python
解决Python下imread,imwrite不支持中文的问题
2018/12/05 Python
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
在python中做正态性检验示例
2019/12/09 Python
关于Tensorflow分布式并行策略
2020/02/03 Python
python中HTMLParser模块知识点总结
2021/01/25 Python
客户代表自我评价范例
2013/09/24 职场文书
人力资源管理专业毕业生推荐信
2013/11/07 职场文书
房地产销售计划书
2014/01/10 职场文书
中国梦口号
2014/06/13 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
基层党支部整改方案
2014/10/25 职场文书
店长岗位职责
2015/02/11 职场文书
车队安全员岗位职责
2015/02/15 职场文书
追讨欠款律师函
2015/06/24 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis
详解SQL的窗口函数
2022/04/21 Oracle