python实现一个简单的udp通信的示例代码


Posted in Python onFebruary 01, 2019

什么是 Socket?

Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。

python创建套接字

socket.socket([family[, type[, proto]]])
参数解析:
family: AF_UNIX(适用跨机通信) 或 AF_INET(IPv4)(适用本机通信)
type: 套接字类型,可以根据是面向连接的还是非连接分为 SOCK_STREAM(TCP) 或 SOCK_DGRAM(UDP)
protocol: 一般不填默认为0.

客户端代码:udp_client.py

第一步:导入socket模块和创建套接字

import socket
u_client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

第二步:开始通信

# s.getsockname()  返回套接字自己的地址。
print("%s:%s 开始工作" %u_client.getsockname())

while True:
  # 发送数据
  data = input("input>>>")
  u_client.sendto(data.encode('utf-8'), ("localhost", 8887)) 


  # 退出系统操作
  if data == 'exit':
    break

  # 接收数据
  data, addr = u_client.recvfrom(1024)
  print("客户端接收信息的来源: %s:%s" %addr)
  print("客户端接收信息的数据: %s" %data.decode('utf-8'))

第三步:关闭套接字

u_client.close()

服务端代码:udp_server.py

第一步:导入socket模块和创建套接字

import socket
u_server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

第二步:开始通信

# 绑定端口
u_server.bind(('localhost', 8887))

print("%s:%s 开始工作" %u_server.getsockname())

while True:
  # 接收数据
  # u_server.recvfrom() 接收UDP数据,返回值是(data,address)
  data, addr = u_server.recvfrom(1024)
  print("接收信息的来源: %s:%s" %addr)
  print("接收信息的数据: %s" %data.decode('utf-8'))

  # 发送原地址数据
  send_data = ("接收到数据:"+data.decode('utf-8')+" --Thanks").encode('utf-8')
  u_server.sendto(send_data, addr)

  # 退出系统操作
  if(data.decode('utf-8') == 'exit'):
    break

第三步:关闭套接字

u_server.close()

测试结果

新建两个cmd窗口,分为执行客户端和服务端的代码

python实现一个简单的udp通信的示例代码

python实现一个简单的udp通信的示例代码

python实现一个简单的udp通信的示例代码

python实现一个简单的udp通信的示例代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python uuid模块使用实例
Apr 08 Python
Python实现PS图像抽象画风效果的方法
Jan 23 Python
python中的set实现不重复的排序原理
Jan 24 Python
Python WSGI的深入理解
Aug 01 Python
用于业余项目的8个优秀Python库
Sep 21 Python
python 限制函数执行时间,自己实现timeout的实例
Jan 12 Python
PyTorch中常用的激活函数的方法示例
Aug 20 Python
Python 实现递归法解决迷宫问题的示例代码
Jan 12 Python
vue常用指令代码实例总结
Mar 16 Python
tensorflow常用函数API介绍
Apr 19 Python
Python+Appium实现自动化清理微信僵尸好友的方法
Feb 04 Python
OpenCV项目实践之停车场车位实时检测
Apr 11 Python
Python读取指定日期邮件的实例
Feb 01 #Python
Python 利用切片从列表中取出一部分使用的方法
Feb 01 #Python
对pandas通过索引提取dataframe的行方法详解
Feb 01 #Python
python 实现提取某个索引中某个时间段的数据方法
Feb 01 #Python
深入理解Python异常处理的哲学
Feb 01 #Python
python for 循环获取index索引的方法
Feb 01 #Python
对python For 循环的三种遍历方式解析
Feb 01 #Python
You might like
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
2014/04/08 PHP
php 获取xml接口数据的处理方法
2018/05/31 PHP
PHP的mysqli_rollback()函数讲解
2019/01/23 PHP
php实现断点续传大文件示例代码
2020/06/19 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
2007/03/24 Javascript
Javascript计算时间差的函数分享
2011/07/04 Javascript
用显卡加速,轻松把笔记本打造成取暖器的办法!
2013/04/17 Javascript
js子页面获取父页面数据示例
2014/05/15 Javascript
一个不错的仿携程自定义数据下拉选择select
2014/09/01 Javascript
JavaScript插件化开发教程 (二)
2015/01/27 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
js上下视差滚动简单实现代码
2017/03/07 Javascript
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
python书籍信息爬虫实例
2018/03/19 Python
python实现微信小程序自动回复
2018/09/10 Python
python获取url的返回信息方法
2018/12/17 Python
解决Python正则表达式匹配反斜杠''\''问题
2019/07/17 Python
详解如何在cmd命令窗口中搭建简单的python开发环境
2019/08/29 Python
python同时替换多个字符串方法示例
2019/09/17 Python
Python面向对象之私有属性和私有方法应用案例分析
2019/12/31 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
2021/01/25 Python
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
size?德国官方网站:英国伦敦的球鞋精品店
2018/03/17 全球购物
Nice Kicks网上商店:ShopNiceKicks.com
2018/12/25 全球购物
白俄罗斯女装和针织品网上商店:Presli.by
2019/10/13 全球购物
欧姆龙医疗欧洲有限公司:Omron Healthcare Europe B.V
2020/06/13 全球购物
组织关系转移介绍信
2014/01/16 职场文书
中国梦演讲稿教师篇
2014/04/23 职场文书
2014年班主任自我评价范文
2014/04/23 职场文书
校友回访母校寄语
2015/02/26 职场文书
雾霾停课通知
2015/04/24 职场文书
运动会广播稿200字
2015/08/19 职场文书
2016教师廉洁教育心得体会
2016/01/13 职场文书
2019自荐信范文集锦!
2019/07/03 职场文书