UDP实现socket通信(python)
程序员文章站
2022-03-05 09:00:11
...
1、套接字工作流程
创建一个udp客户端程序的流程<具体步骤如下:
- 创建客户端套接字
- 发送/接收数据
- 关闭套接字
一般情况下,在一台电脑上运行的网络程序有很多,为了不与其他的网络程序占用同一个端口号,往往在编程中,udp的端口号一般不绑定,但是如果需要做成一个服务器端的程序的话,是需要绑定的。
2、udp客户端-发送数据
#coding=utf-8
from socket import *
# 1. 创建udp套接字
udp_socket = socket(AF_INET, SOCK_DGRAM)
# 2. 准备接收方的地址
# '192.168.1.103'表示目的ip地址
# 8080表示目的端口
dest_addr = ('192.168.1.103', 8080) # 注意 是元组,ip是字符串,端口是数字
# 3. 从键盘获取数据
send_data = input("请输入要发送的数据:")
# 4. 发送数据到指定的电脑上的指定程序中
udp_socket.sendto(send_data.encode('utf-8'), dest_addr)
# 5. 关闭套接字
udp_socket.close()
3、udp服务端-接收数据
#coding=utf-8
from socket import *
# 1. 创建udp套接字
udp_socket = socket(AF_INET, SOCK_DGRAM)
# 2. 绑定本地的相关信息,如果一个网络程序不绑定,则系统会随机分配
local_addr = ('', 7788) # ip地址和端口号,ip一般不用写,表示本机的任何一个ip
udp_socket.bind(local_addr)
# 3. 等待接收对方发送的数据
recv_data = udp_socket.recvfrom(1024) # 1024表示本次接收的最大字节数
# 4. 显示对方发送的数据
# 接收到的数据recv_data是一个元组
# 第1个元素是对方发送的数据
# 第2个元素是对方的ip和端口
print(recv_data[0].decode('gbk'))
print(recv_data[1])
# 5. 关闭套接字
udp_socket.close()
推荐阅读
-
python实现一个简单的udp通信的示例代码
-
Python多线程编程(八):使用Event实现线程间通信
-
Python_RabbitMQ实现简单的进程间通信
-
Python的Asyncore异步Socket模块及实现端口转发的例子
-
python通过socket实现多个连接并实现ssh功能详解
-
Python3简单实现串口通信的方法
-
python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
-
python实现的udp协议Server和Client代码实例
-
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
-
C#使用Socket实现服务器与多个客户端通信(简单的聊天系统)