Python高级-socket编程-2.1 UDP发送与接收数据

前导

现有需求:
  • a.py
a = "hello world"
print(a)
  • b.py
print(a)

不通过导入模块的方式,如何实现在 a.py 中存数据, b.py 读数据。

这都是同以计算机,如果不同计算机之间进行传输通信,那么就会使用到网络。比如QQ,微信等APP。

计算机网络的发展及基础网络概念

两台电脑的通信
  • 网线
  • 网卡
  • 唯一标识mac地址,但复杂。使用ip地址唯一标识。
IP地址与IP协议

规定网络地址的协议叫ip协议,它定义的地址称为ip地址。广泛采用的v4版本的即ipv4,它规定网络地址由32位2进制表示。

注意:

  • 一个ip地址通常写成四段十进制数
  • 范围0.0.0.0-255.255.255.255
windows和Linux查看网卡信息
  • Linux中
ifconfig
  • windows中
ipconfig
IP地址分类

在这里插入图片描述

以太网

在这里插入图片描述

  • 交换机为了解决多台机器之间的通信问题。
广域网

在这里插入图片描述

网关的概念——局域网中的机器想要访问局域网外的机器,需要通过网关访问。

端口

在这里插入图片描述

端口分类

1.知名端口(well known ports)

  • 80端口分配给HTTP服务
  • 21端口分配给FTP服务
    • 范围是从0到1023

2.动态端口

  • 动态端口的范围是从1024-65535

注意:

  • 在同一时间只会有一个程序占用一个端口,不可能在同一个计算机上同一时间有两个程序占用一个端口。

socket简介

TCP/IP协议

TCP/IP协议是Transmission Control Protocol/Internet Protocol的简写,即传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。

然而,TCP/IP协议并不是国际官方组织制定的标准,而是民间组织(一些大型国际厂商、高等院校)自行商定的标准,因为更简便,推广力度更大,而成为了事实上的标准。

TCP/IP网络模型四层模型从根本上和OSI七层网络模型是一样的,只是合并了几层
在这里插入图片描述

在TCP/IP协议中,其各层之间的通信机制,大致如下图所示:
在这里插入图片描述

socket介绍

socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。白话说,socket就是两个节点为了互相通信,而在各自家里装的一部’电话’。

加入socket后,网络关系如下图所示:
在这里插入图片描述

udp发送与接收数据

udp发送数据

实现步骤:

  • 1.创建套接字
  • 2.使用套接字收/发数据
  • 3.关闭套接字
import socket
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp_socket.sendto(b"nihao", ("192.168.20.216", 8080))
udp_socket.close()
udp接收数据

实现步骤:

  • 1.创建套接字
  • 2.绑定本地信息(IP和端口)
  • 3.接受数据
  • 4.打印数据
  • 5.关闭套接字
import socket
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
bind_addr = ("", 7788)     
udp_socket.bind(bind_addr) 
recv_data = udp_socket.recvfrom(1024)
udp_socket.close()
udp聊天器
  • 1.创建套接字 套接字是可以同时收发数据的
  • 2.发送数据
  • 3.接收数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值