python高级进阶_32_使用socket 模拟UDP 和TCP 发送消息

博客围绕网络编程展开,介绍了IP和端口概念,对比了UDP和TCP的区别,UDP非面向连接、速度快但不稳定,TCP面向连接、速度慢但稳定。还演示了用Python模拟UDP和TCP发送数据的过程,包括设置网络助手、编辑代码等,后续将介绍socket方法并写聊天系统。

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

前面在学习多进程 之间通信用到 QUEQUE, 那也只是在同一台电脑,进行通信,

那如何在不同的电脑传输数据呢, 就用到了网络传输,以后的章节我都写网络编程的知识。

首先我们要了解 IP 和 端口 两个概念,

当我们把一个消息发送到电脑 qq 里, 为什么他能找到你的电脑呢, 就是用 IP 协议 , 为什么找到你的电脑也能找你的qq呢,为什么不发到微信里, 说明用到了端口号。 端口是分辨电脑里进程的编号。

UDP 和 TCP 的区别是什么呢?

主要的区别是 :

UDP 是非面向连接, 优点是快, 但是不稳定。
TCP 是面向连接,优点是慢,但是稳定, 具体自己查下,不是本节的重点。

在介绍这个知识 我们要下载个网络助手,百度下载安装就行, 如图:

网络调试助手

模拟UDP 发送

  1. 设置网络助手
    设置内容 有, 协议类型 选择UDP, ip 和端口,然后点击连接。

在这里插入图片描述
2. 编辑代码 然后发送

from socket import *
udpsocket=socket(AF_INET,SOCK_DGRAM)  #  这个是固定的写法 ,返回一个socket 对象
senddata=b"hello ,  i love you "   #  这个保存你要发的内容
sendaddr=('192.168.43.224',8080)  # 保存发送地址, 是个元祖 第一个是IP、寻找哪台电脑, 第二个是端口代表发给哪个程序
udpsocket.sendto(senddata,sendaddr) # 调用sendto 方法 ,发送你想要的内容

在网络助手 显示就是要发送的内容,如图:

在这里插入图片描述

模拟 TCP 发送

  1. 设置 TCP服务端
    在这里插入图片描述
from socket import *
addr  = ('192.168.43.224',8080)
sendData = ("i am tcp ")
Socket_TCP = socket()    # socket 对象
Socket_TCP.connect(addr) # 连接 tcp 服务器
data = sendData  
data = bytes(data, encoding='utf-8')  # 因为input返回的是字符串类型的数据,data需要字节类型的数据
Socket_TCP.sendall(data)  # 发送数据

执行的结果为:

在这里插入图片描述

总结:

我写的只是了解 socket 基本概念, 并熟悉的基本流程, 后边我具体介绍 socket 包含的方法, 并写一个基本的聊天系统。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值