使用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字符串拼接的几种方法整理
Aug 02 Python
Python爬虫番外篇之Cookie和Session详解
Dec 27 Python
Python编程pygame模块实现移动的小车示例代码
Jan 03 Python
Python使用Pickle库实现读写序列操作示例
Jun 15 Python
Python实现查询某个目录下修改时间最新的文件示例
Aug 29 Python
Django 数据库同步操作技巧详解
Jul 19 Python
Python猴子补丁知识点总结
Jan 05 Python
Python range与enumerate函数区别解析
Feb 28 Python
Python如何对齐字符串
Jul 30 Python
简单了解Python字典copy与赋值的区别
Sep 16 Python
OpenCV-Python实现图像平滑处理操作
Jun 08 Python
图文详解matlab原始处理图像几何变换
Jul 09 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源代码数组统计count分析
2011/08/02 PHP
Php output buffering缓存及程序缓存深入解析
2013/07/15 PHP
浅析PHP原理之变量分离/引用(Variables Separation)
2013/08/09 PHP
php数组添加元素方法小结
2014/12/20 PHP
PHP 正则表达式小结
2015/02/12 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
用jquery与css打造个性化的单选框和复选框
2010/10/20 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
jQuery实现MSN中文网滑动Tab菜单效果代码
2015/09/09 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
2015/10/23 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
2016/06/08 Javascript
浅析Javascript ES6新增值比较函数Object.is
2016/08/24 Javascript
Javascript6中字符串的四个新用法分享
2016/09/11 Javascript
JS FormData上传文件的设置方法
2017/07/05 Javascript
在create-react-app中使用css modules的示例代码
2018/07/31 Javascript
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
浅谈layui里的上传控件问题
2019/09/26 Javascript
JS highcharts动态柱状图原理及实现
2020/10/16 Javascript
在Django框架中伪造捕捉到的URLconf值的方法
2015/07/18 Python
python操作 hbase 数据的方法
2016/12/18 Python
python 生成图形验证码的方法示例
2018/11/11 Python
使用Python制作表情包实现换脸功能
2019/07/19 Python
对Django外键关系的描述
2019/07/26 Python
Python matplotlib生成图片背景透明的示例代码
2019/08/30 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
2020/02/14 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
python3.6使用SMTP协议发送邮件
2020/05/20 Python
Pytorch环境搭建与基本语法
2020/06/03 Python
HTML5新增加的功能详解
2016/09/05 HTML / CSS
DOUGLAS波兰:在线销售香水和化妆品
2020/07/05 全球购物
大学生新闻专业个人自我评价
2013/11/12 职场文书
5.1手机促销活动
2014/01/17 职场文书
作风转变年心得体会
2014/10/22 职场文书
部队个人年终总结
2015/03/02 职场文书
微软Win11有哪些隐藏功能? windows11多个功能汇总
2021/11/21 数码科技
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技