pythonudp通信程序_python中UDP编程实现通信
我们知道想要实现数据之间的传递,会有用户和服务方的产生。由用户提供需求,服务方把成果反馈给用户。本篇就UDP编程在通信的过程分为两个部分:服务器端和客户端。下面我们就数据在不同端口传送的方法进行分析,大家一起看看它们在其中都有哪些操作的步骤吧。
1、服务器端
recvfrom()方法返回数据和客户端的地址与端口,这样,服务器收到数据后,直接调用sendto()就可以把数据用UDP发给客户端。# coding:utf-8
import socket
# 创建套接字
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定地址和端口
addr = '127.0.0.1'
port = 9999
s.bind((addr,port))
print("Bind UDP on",port)
# 数据处理
while True:
data, addr = s.recvfrom(1024)
print("Receive data from %s:%s" % addr)
s.sendto(b"Hello, %s!" % data, addr)
2、客户端
客户端使用UDP时,首先仍然创建基于UDP的Socket,然后,不需要调用connect(),直接通过sendto()给服务器发数据:# coding:utf-8
import socket
addr = '127.0.0.1'
port = 9999
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
for data in [b'Hello', b'world!']:
s.sendto(data,(addr, port))
print(s.recv(1024).decode('utf-8'))
s.close()
以上就是python中UDP编程实现通信的方法,大家可以先就两种不同的端口进行学习,然后再分别尝试代码的运行部分。
pythonudp通信程序_python中UDP编程实现通信相关推荐
- 浅谈 Qt 中 UDP 之 UdpSocket通信实例
浅谈 Qt 中 UDP 写这篇博客的原因是Java大作业最近完成了一个简单的聊天室.也是基于UDP的.正好我们在学习Qt.所以我想能不能再qt中同样实现这样一个问题.于是我进行的代码的编辑.以及其他 ...
- python中的多线程的优点_Python中多线程编程的优点是什么?
当我听说多线程编程时,我想到了加速我的程序的机会,但不是吗?在import eventlet from eventlet.green import socket from iptools import ...
- python建立字典的程序_Python中如何创建字典Dict
1.概述 字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据,而且是Python中唯一的内建映射型数据结构. 比如有一个小学生的期末成绩,语文:79,数学:80,英语:92 ...
- python程序启动其他python程序_python中使用fork创建新的进程
python中如果要创建新进程的话,可以使用os模块中的fork方法.为了了解其中工作原理,笔者结合linux的查看进程ps命令,对这个方法做了一些测试. python运行时进程 python一开始运 ...
- python趣味程序_python游戏趣味编程:疯狂的小圆圈
1 疯狂的小圆圈 当按下鼠标左键滑动时,会产生一些列同心圆,这些同心圆运动,碰到四周会反弹. 这里要学习下字典. 2 漂亮的彩虹 3 字典 第1行:定义一个字典,里面存储了7个颜色 第3行:打印字典中 ...
- anaconda怎么运行python程序_Python中四种运行其他程序的方式,你知道吗?
前言 在Python中,可以方便地使用os模块来运行其他脚本或者程序,这样就可以在脚本中直接使用其他脚本或程序提供的功能,而不必再次编写实现该功能的代码.为了更好地控制运行的进程,可以使用win32p ...
- python建立字典的程序_python中的字典
字典:一个关联数组或散列表 ,可通过关键字索引的对象. 字典的用途:定义一个可包含多个命名字段的对象,也可以用作快速查找无序数据的容器 字典是python中最完善的数据类型 在程序中最常用于存储和处理 ...
- python中保留两位小数的编写程序_Python中保留两位小数的几种方法
保留两位小数,并做四舍五入处理 方法一: 使用字符串格式化 >>> a = 12.345 >>> print("%.2f" % a) 12.35 ...
- python写界面进度条程序_Python中如何写控制台进度条的整理
进度条和一般的print区别在哪里呢? 答案就是print会输出一个\n,也就是换行符,这样光标移动到了下一行行首,接着输出,之前已经通过stdout输出的东西依旧保留,而且保证我们在下面看到最新的输 ...
- python 预测下一年数据 程序_python中神经网络预测时间序列数据
我是神经网络的初学者,尝试用python语言预测5个输入的温度值(输出).我使用python中的keras包来工作神经网络.在 此外,我使用了两种算法,即前向神经网络(回归)和递归神经网络(LSTM) ...
最新文章
- UnixLinux大学教程 读书笔记【1-3章】
- C++11 :STL中的 iota ()函数
- DOS命令查看网络信息
- index加载显示servlet数据_[WEB篇]-JavaWeb基础与应用-02-Servlet开发
- Harbor:私有企业级Registry仓库--快速搭建
- MongoDB 4.6.1 c++ driver 编译
- Hadoop(四)hdfs基本操作
- unity 引用prefab_Unity基础教程-对象管理(二)——对象多样化(Fabricating Shapes)...
- wps桌面右键缺少新建文档入口
- 完整的连接器设计手册_特斯拉的高压连接器
- PyTorch笔记 - Dropout: A Simple Way to Prevent Neural Networks from Overfitting
- 绫辻行人《杀人偶人馆》读后感
- c语言字符串dna,转录流程(c语言编写DNA转录程序)
- 超简单的canvas绘制地图
- 【测试开发】一个5年测试开发的成长经验,大学毕业就开启他的职业生涯......
- 微信小程序--获取当前时间
- ethz的多传感器融合算法msf编译与安装
- 如何用PS将gif图背景变透明
- 对于《肖申克的救赎》的个人感悟
- [奥塔在线]JAVA启蒙:WIN10下的JDK环境部署