【Python网络开发-UDP协议实践】

一(07)、创建Socket

  • 代码实例

在这里插入图片描述

  • 运行结果

在这里插入图片描述

二(08)、Socket发送数据案例

(一)实操代码

实操代码

在这里插入图片描述

(二)运行结果

在这里插入图片描述

三(09)、UDP服务器端

(一)UDP特点

  • UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。
  • 腾讯QQ使用最多的是UDP

在这里插入图片描述

  • 客户端的端口不需要记忆,一般来说要记忆的是服务器的端口

服务器端的结构

在这里插入图片描述

其中只有具有默认网关的是本台电脑所在的网络

在UDP编码的过程中要输入这个网络的IPv4地址

(二)服务器端与客户端通讯实操

  • 服务器端

在这里插入图片描述

  • 客户端

在这里插入图片描述

运行过程:

1、先打开UDP服务器端,程序保持运行

2、打开UDP客户端,在客户端中输入数据

在这里插入图片描述

3、UDP服务器端接收到数据。decode可以返回接收到的源数据;打印返回data信息并终止进程

  • 注:50180数服务器端动态分配的端口

在这里插入图片描述

(三)核心代码

1、UDP服务器端

import socket
from socket import *

#1.创建一个服务器端的Socket
socket_server = socket(AF_INET,SOCK_DGRAM)

#2.定义服务的IP地址和端口号
host_port = ('192.168.43.234',8090)

#3.服务器端的Socket来绑定地址和端口,只有绑定了地址和端口,才能称之为服务器的Socket
socket_server.bind(host_port)

#4.接受客户端发过来的数据,每次接受1KB的数据
data = socket_server.recvfrom(1024)

print(data[0].decode('utf-8'))

print(data)

#5.关闭套接字来释放资源
socket_server.close()

2、UDP客户端

from socket import *

#创建一个UDP协议的套接字,然后发送一条数据到网络上的另外一个进程

#1.创建套接字
client_socket = socket(AF_INET,SOCK_DGRAM)

#2.定义一个接受消息的目标,8080是一个目标服务器的端口,127.0.0.1是目标服务器地址
# server_host_port=('127.0.0.1',8080)
server_host_port=('192.168.43.234',8090)

#3.准备即将发送的数据,encode表示按照编码格式把数据变成字节数组bytes
#数据一定是字节数据才能发送
datas = input("请输入:").encode('utf-8')

#4.发送数据,标识一个进程是通过IP+端口+协议
client_socket.sendto(datas,server_host_port)

print('发送完成')

#5.关闭套接字,其实就是释放了系统资源
client_socket.close()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值