用python做UDP连接

写个客户端

#!/usr/bin/env python
from socket import *
HOST = '10.2.167.115'
PORT = 20001
BUFSIZE = 1024
ADDR = (HOST, PORT)
udpClientSock = socket(AF_INET, SOCK_DGRAM)
while True:
    data = raw_input('Enter the message you want to send >')
    if not data:
        break
    udpClientSock.sendto(data, ADDR)发送给服务端
    data, ADDR = udpClientSock.recvfrom(BUFSIZE)接收服务端信息
    if not data:
        break
    print data
udpClientSock.close()

写个服务端

#!/usr/bin/env python
# -*- coding:UTF-8 -*-

from socket import *
from time import ctime

HOST = ''
PORT = 20001监控端口
BUFSIZE = 1024缓冲区大小
ADDR = (HOST, PORT)
udpSerSock = socket(AF_INET, SOCK_DGRAM)
udpSerSock.bind(ADDR)
while True:
    print 'waiting for message...'
    data, addr = udpSerSock.recvfrom(BUFSIZE)
    udpSerSock.sendto('[%s] %s' % (ctime(), data), addr)给客户端发送信息
    print'received from %s >> %s' % (addr, data)
udpSerSock.close()

这个udp连接可以用于测速。在客户端记录开始和结束时间。再除以2可以估计网络耗时。忽略服务器响应时间

时间: 2024-10-30 01:01:41

用python做UDP连接的相关文章

python网络编程实现TCP和UDP连接

实现TCP #!/usr/bin/env python3 # -*- coding: utf-8 -*- import socket # 创建一个socket: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 建立连接: s.connect(('www.sina.com.cn', 80)) # 发送数据: s.send(b'GET / HTTP/1.1\r\nHost: www.sina.com.cn\r\nConnection:

用python做网页抓取与解析入门笔记[zz]

(from http://chentingpc.me/article/?id=961) 事情的起因是,我做survey的时候搜到了这两本书:Computational Social Network Analysis和Computational Social Network,感觉都蛮不错的,想下载下来看看,但是点开网页发现这个只能分章节下载,晕,我可没时间一章一章下载,想起了迅雷的下载全部链接,试试看,果真可以把他们一网打尽,但是,sadly,迅雷下载的时候,文件名没办法跟章节名对应起来,晕,我可

《用Python做HTTP接口测试》学习感悟

机缘巧合之下,报名参加了阿奎老师发布在"好班长"的课程<用Python做HTTP接口测试>,报名费:15rmb,不到一杯咖啡钱,目前为止的状态:坚定不移的跟下去,自学+课程模式每天一小时! 1.学习初衷 打算学习Python,这个想法开始于2017年,和在网络上遇到的绝大多数测试人员不同,我的工作单位是一个大型国企,虽然从事软件测试工作已经有四年,可事实上,无论是测试理论还是实际项目经验,都处于一种停滞不前的状态,作为一个有理想的测试猿(害羞脸),这样的工作状态让人心酸,因

Python 绝技 —— UDP 服务器与客户端

i春秋作家:wasrehpic 0x00 前言 在上一篇文章「Python 绝技 -- TCP 服务器与客户端」中,介绍了传输层的核心协议 TCP ,并运用 Python 脚本的 socket 模块演示了 TCP 服务器与客户端的通信过程. 本篇将按照同样的套路,先介绍传输层的另一个核心协议 UDP,再比较 TCP 与 UDP 的特点,最后借助 Python 脚本演示 UDP 服务器与客户端的通信过程. 0x01 UDP 协议 UDP(User Datagram Protocol,用户数据报协议

IM推送保障及网络优化详解(二):如何做长连接加推送组合方案

对于移动APP来说,IM功能正变得越来越重要,它能够创建起人与人之间的连接.社交类产品中,用户与用户之间的沟通可以产生出更好的用户粘性. 在复杂的 Android 生态环境下,多种因素都会造成消息推送不能及时达到客户端.另外,不稳定的移动网络也给数据传输的速率和可靠性增加了障碍. 本文详解了网易云信IM SDK在应对弱网环境.移动端硬件限制以及Android复杂的生态现状时的探索与心得.如何实现不影响用户体验的后台保活,改善的长连接加推送组合方案,以及在弱网环境大数据传输的优化实践. 相关阅读推

[转]使用 mitmproxy + python 做拦截代理

使用 mitmproxy + python 做拦截代理 本文是一个较为完整的 mitmproxy 教程,侧重于介绍如何开发拦截脚本,帮助读者能够快速得到一个自定义的代理工具. 本文假设读者有基本的 python 知识,且已经安装好了一个 python 3 开发环境.如果你对 nodejs 的熟悉程度大于对 python,可移步到 anyproxy,anyproxy 的功能与 mitmproxy 基本一致,但使用 js 编写定制脚本.除此之外我就不知道有什么其他类似的工具了,如果你知道,欢迎评论告

python做题

Python题目 1.打印一个九九乘法表 #!/usr/bin/env python # -*- coding: utf-8 -*- """ __author__ = 'YeXiaodong' __QQ__= '12519460' __Email__ = '[email protected]' """ x = 1 list_table = [] print('九九乘法表'.center(100,' ')) while x < 10: lis

用python做自动化测试--对服务器端的自动化测试(2)-发送端模拟器

python的http client库很多,有httplib, urllib 和urllib2,但这几个用起来还是比较麻烦,requests 是高富帅(http://docs.python-requests.org/en/latest/),接口更简洁,优雅. 支持Json, 很方便设置发送的header, session管理. #!/usr/bin/env python #coding=utf-8 import time,logging,sys,os import pickle import u

【python】--paramiko 连接 AWS 的机器

在使用AWS(亚马逊)的云机器, AWS 管理面板中生成密钥. 使用python的Paramiko 连接服务器 paramiko k = paramiko.RSAKey.from_private_key_file() c = paramiko.SSHClient() c.set_missing_host_key_policy(paramiko.AutoAddPolicy()) c.connect( = = = k ) command =stdin stdoutstderr = c.exec_co