python应用系列教程——python使用socket创建udp服务器端和客户端
全栈工程师开发手册 (作者:栾鹏)
python教程全解
python使用socket创建udp服务器端和客户端。
服务器端为一个时间戳服务器,在接收到客户端发来的数据后,自动回复。
客户端,等待用户输入,回车后向服务器发送用户输入的内容。
分别在python2.7和python3.6下测试。在启动时需要先启动服务器端,在启动客户端。
udp协议是无连接的,不需要向tcp一样先建立连接,也就照成了在DDOS攻击中,多以发送UDP包。
python2.7环境下
udp服务器端代码
#coding:utf-8from socket import *
from time import ctimeprint("=====================时间戳UDP服务器=====================");HOST = '' #主机号为空白表示可以使用任何可用的地址。
PORT = 21567 #端口号
BUFSIZ = 1024 #接收数据缓冲大小
ADDR = (HOST, PORT)udpSerSock = socket(AF_INET, SOCK_DGRAM) #创建udp服务器套接字
udpSerSock.bind(ADDR) #套接字与地址绑定while True:print('等待接收消息...')data, addr = udpSerSock.recvfrom(BUFSIZ) #连续接收指定字节的数据,接收到的是字节数组udpSerSock.sendto('[%s] %s' % (ctime(), data), addr) #向客户端发送时间戳数据,必须发送字节数组print('响应消息到', addr)udpSerSock.close() #关闭服务器socket
udp客户端代码
#coding:utf-8from socket import *print("=====================UDP客户端=====================");HOST = '127.0.0.1' #本机测试
PORT = 21567 #端口号
BUFSIZ = 1024 #接收消息的缓冲大小
ADDR = (HOST, PORT)udpCliSock = socket(AF_INET, SOCK_DGRAM) #创建客户端套接字while True:data = raw_input('> ') #接收用户输入if not data: #如果用户输入为空,直接回车就会发送"",""就是代表falsebreakudpCliSock.sendto(data, ADDR) #客户端发送消息,必须发送字节数组data, ADDR = udpCliSock.recvfrom(BUFSIZ) #接收回应消息,接收到的是字节数组if not data: #如果接收服务器信息失败,或没有消息回应breakprint(data) #打印回应消息udpCliSock.close()#关闭客户端socket
python3.6环境下
udp服务器端代码
#coding:utf-8from socket import *
from time import ctimeprint("=====================时间戳UDP服务器=====================");HOST = '' #主机号为空白表示可以使用任何可用的地址。
PORT = 21567 #端口号
BUFSIZ = 1024 #接收数据缓冲大小
ADDR = (HOST, PORT)udpSerSock = socket(AF_INET, SOCK_DGRAM) #创建udp服务器套接字
udpSerSock.bind(ADDR) #套接字与地址绑定while True:print('等待接收消息...')data, addr = udpSerSock.recvfrom(BUFSIZ) #连续接收指定字节的数据,接收到的是字节数组udpSerSock.sendto(bytes('[%s] %s' % (ctime(), data.decode('utf-8')), 'utf-8'), addr) #向客户端发送时间戳数据,必须发送字节数组print('响应消息到', addr)udpSerSock.close() #关闭服务器socket
udp客户端代码
#coding:utf-8from socket import *print("=====================UDP客户端=====================");HOST = '127.0.0.1' #本机测试
PORT = 21567 #端口号
BUFSIZ = 1024 #接收消息的缓冲大小
ADDR = (HOST, PORT)udpCliSock = socket(AF_INET, SOCK_DGRAM) #创建客户端套接字while True:data = input('> ') #接收用户输入if not data: #如果用户输入为空,直接回车就会发送"",""就是代表falsebreakudpCliSock.sendto(bytes(data,'utf-8'), ADDR) #客户端发送消息,必须发送字节数组data, ADDR = udpCliSock.recvfrom(BUFSIZ) #接收回应消息,接收到的是字节数组if not data: #如果接收服务器信息失败,或没有消息回应breakprint(str(data,'utf-8')) #打印回应消息udpCliSock.close()#关闭客户端socket
python应用系列教程——python使用socket创建udp服务器端和客户端相关推荐
- python应用系列教程——python使用socket创建tcp服务器和客户端
全栈工程师开发手册 (作者:栾鹏) python教程全解 python使用socket创建tcp服务器和客户端. 服务器端为一个时间戳服务器,在接收到客户端发来的数据后,自动回复. 客户端,等待用户输 ...
- python应用系列教程——python使用SocketServer实现网络服务器,socket实现客户端
全栈工程师开发手册 (作者:栾鹏) python教程全解 python使用SocketServer实现网络服务器 SocketServer简化了网络服务器的编写.在进行socket创建时,使用Sock ...
- python基础系列教程——Python的安装与测试:python解释器、PyDev编辑器、pycharm编译器
分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 全栈工程师开发手册 (作者:陈玓玏) python教程全解 白手起家,从头开启python的 ...
- python基础系列教程——python基础语法全解
点击此处 python教程全解 了解python 1. 了解Python Python是一种解释型(这意味着开发过程中没有了编译这个环节).面向对象(支持面向对象的风格或代码封装在对象 ...
- python应用系列教程——python中ftp操作:连接、登录、获取目录,重定向、上传下载,删除更改
全栈工程师开发手册 (作者:栾鹏) python教程全解 python中ftp操作: ftp=FTP() #设置变量 ftp.set_debuglevel(2) #打开调试级别2,显示详细信息 ftp ...
- python测试系列教程——python+Selenium+chrome自动化测试框架
全栈工程师开发手册 (作者:栾鹏) python教程全解 需要的环境 浏览器(Firefox/Chrome/IE-) Python Selenium Selenium IDE(如果用Firefox) ...
- python基础系列教程——python面向对象编程全解
全栈工程师开发手册 (作者:栾鹏) python教程全解 python面向对象编程全解. 面向对象技术简介 一个类占有一个独立的空间,类中的属性叫做类变量,类中的函数,叫做类的方法. 类(Class) ...
- python应用系列教程——python使用scapy监听网络数据包、按TCP/IP协议进行解析
分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 docker/kubernetes入门视频教程 全栈工程师开发手册 (作者:栾鹏) pyth ...
- python应用系列教程——python使用smtp上传邮件,使用pop3下载邮件
全栈工程师开发手册 (作者:栾鹏) python教程全解 python使用smtp上传邮件,使用pop3下载邮件.由于上传后立刻下载了,所以有时不会再在网页邮箱中有通知. 可设置邮件的收发人,主题,内 ...
最新文章
- RDKit | 基于RDKit和化学信息学探索化学空间
- 学python最重要的是_为什么越来越多的人选择学Python?
- 一种业界通用的响应式布局解决方法
- 全国计算机等级考试 备考,全国计算机等级考试经验:如何调整备考心态
- 二、先在SD卡上启动U-boot,再烧写新的U-boot进Nandflash
- https开头的网址是什么意思_我想打这个面试官,他给我挖坑,问我:URI中的 “//” 有什么用?...
- 小结-python连接redis的基本配置-解决远程连接问题
- 网络拓扑图画图工具_一款功能强大的免费在线作图工具
- 因为CSS文件编码问题IE6无法正确解析CSS
- 程序员 520 脱单指南!
- vue中axios访问Java后端跨域问题解决
- 完整的蓝屏错误代码大全详解
- SLAM数据集(tum/kitti)轨迹对齐与结果评估
- EAS BOS 开发问题集锦
- Laya 2.0 微信排行榜数据
- spring batch 通过配置文件的方法读文件
- 高并发下的幂等策略分析
- 【python】随机数的生成
- 服装ERP应用 20 ERP在分销型服装企业的物流管理
- 互联网的出现与发展使人类从个体变成万物相联的新集群