UDP基础知识点

本文介绍了UDP的基础知识,包括IP地址的作用、查看网络连通性的方式、端口的分类以及UDP的特点。讲解了如何在Python中使用socket进行UDP通信,强调了端口绑定的重要性,并提供了发送和接收数据的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UDP重要知识点(代码与思路)

基础知识

ip地址
  • 作用:找到网络上的唯一一台设备。
  • IP 地址是指互联网协议地址, 是 IP Address 的缩写. IP 地址是 IP 协议提供的一种统一的地址格式.
  • 格式:4段,每一段的0-255之间,但255这个给⼴广播留留的地址255.255.255.25
  • 查看ip地址:ifconfig(linux),ipconfig(windows)
查看网络连通性:
  • ping 127.0.0.1 检查本机操作系统网络功能工作是否正常.
  • ping 本机网卡IP地址 检查网卡是否正常工作.
  • ping 远程主机IP/域名 检查与远程主机的连通性.
  • 不通的情况有两种,一种地址写错了,一种防火墙。
  • 内网的地址:这个是我们的路由器分配的地址,让我们局域网的用户可以互相通讯,
  • 外网的地址:电信这块给你⼀一个设备,这个设备可以得到外网的地址。

端口

  • 作用:用来确定唯一 一台设备上的网络通讯的软件或网络程序必须要有端口号。
  • 分类:知名端口0—1023; 动态端口1024—65535。

网络传输方式-UDP特点:

  • 无连接,资源开销小,速度快
  • 数据不可靠,容易丢数据包

socket:套接字,是进程间通信的一个工具。

socket介绍:

  • socket(简称 套接字) 是进程间通信一个工具,它能实现把数据从一方传输到另外一方,完成不同电脑上进程之间的通信, 它好比数据的搬运工。

import socket
socket.socket(AddressFamily, Type)
函数 socket.socket 创建一个 socket,该函数带有两个参数:
Address Family:IP地址类型; AF_INET表示ipv4类型、AF_INET6表示ipv6类型; Type:套接字类型,可以是 SOCK_STREAM(流式套接字,主要用于 TCP 协议)或者 SOCK_DGRAM(数据报套接字,主要用于 UDP 协议)

UDP 网络程序流程如下:

在这里插入图片描述

流程步骤:
  • 创建UDP套接字
  • 发送/接收 数据
  • 关闭套接字
端口(未绑定)问题:

在这里插入图片描述

  • 每重新运行一次网络程序,上图中红圈中的数字,不一样的原因在于,这个数字标识这个网络程序,当重新运行时,如果没有确定到底用哪个,系统默认会随机分配。
  • 如果套装服务器端程序的话,是一定要绑定端口号的。
套接字可以同时收发代码,如下:(udp收到的数据是一个元组,两个元素)

在这里插入图片描述

udp发送数据

思路:
1. 初始化socket
2. 发送数据
3. 关闭
import socket


def main():
    """使用udp发送数据"""
    # 1.初始化socket
    udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

    # 2.发送数据
    # 1第一个参数:就是我们发送的数据,注意编码
    # 2.发送的地址与端口
    udp.sendto("我要吃了".encode("utf-8"), ("172.16.251.164", 8282))
    
    # 程序员为了统一方便调试使用127.0.0.1本机ip地址
    # 3.关闭
    udp.close()


if __name__ == '__main__':
    main()

udp接收数据

# 思路:
# 1.初始化socket
# 2. 绑定端口
# 3. 接收数据
# 4. 关闭
import socket

def main():
    """绑定 端口"""

    # 1.初始化socket
    udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值