![](https://img-blog.csdnimg.cn/a0fb369e22e646ad9a33bfc32b9643e1.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python网络编程
文章平均质量分 55
Python网络编程的学习记录。
今天自洽了吗
今天不想上班
展开
-
网络编程(十)——基于UDP协议的套接字
TCP和UDP协议传输对比TCP协议传输数据可靠,TCP传输数据后,如果收到接收方回应消息,则会在本机缓存中删除已发送消息;如果没有收到接收方回应消息,则会利用缓存继续发送消息。UDP协议传输数据相对来说不可靠,发送方只要发出消息即完成任务。但是UDP传输无需建立三次握手链接,开销较小,也不需要等待对方回应,发送效率很高。原创 2023-01-11 01:02:41 · 311 阅读 · 0 评论 -
网络编程(九)——函数封装文件传输功能
函数封装文件传输功能服务端完整代码和客户端完整代码如下原创 2022-12-31 15:30:41 · 103 阅读 · 0 评论 -
网络编程(八)——实现文件传输功能
实现文件传输功能在通信循环中实现文件传输功能,以下载图片1.png为例,命令为:get 1.png1、客户端发送命令:cmd = input(">>:").strip() # get 1.png if not cmd:continue phone.send(cmd.encode("utf-8"))2、服务端收命令:原创 2022-12-30 23:20:51 · 750 阅读 · 0 评论 -
网络编程(七)——解决粘包问题
粘包问题是由于TCP协议底层优化算法Nagle算法造成的。我们可以在发送数据包之前,先告诉接收方我们发送的数据量有多大,接收方就可以精确接收一个数据包或者对一个数据包进行多次接收,这样不仅能够享受到Nagle算法带来的便利,也能够有效解决粘包问题。原创 2022-12-30 16:48:36 · 387 阅读 · 0 评论 -
网络编程(六)——粘包现象
比如我要分别发送一个1比特的数据包和2比特的数据包,且发送两个包的间隔时间非常的短,I/O(input/output)有延迟,socket为了提高传输效率,则会将这两个包合并起来一起发送出去(Negle算法),收方就收到了粘包数据。粘包现象发生的两个条件:数据量小两次发送数据间隔时间短所以,粘包现象是TCP传输优化算法Negle算法决定的,只会产生在TCP协议传输中。原创 2022-12-27 22:16:09 · 117 阅读 · 0 评论 -
网络编程(五)——模拟ssh远程执行命令
可以使用subprocess模块,subprocess模块允许我们启动一个新进程,并连接到它们的输入/输出/错误管道,从而获取返回值。原创 2022-12-27 17:28:19 · 378 阅读 · 0 评论 -
网络编程(四)——实现服务端依次为顾客提供服务
顾客可能是多位一起来接受服务,服务端同时服务多名客户,利用并发编程实现。为了易于理解、快速入门,我先从实现服务端轮流为多位顾客提供服务开始做起。原创 2022-12-26 16:38:19 · 71 阅读 · 0 评论 -
网络编程(三)——客户端与服务端代码的bug修复
客户端想要发送内存中的消息,需要:先将应用软件内存中的数据发送到操作系统的内存中(应用软件中通过encode编码来组织自己的数据)——>操作系统调用网卡——>沿着数据线将数据发送出去(操作系统发送数据也不是可以随便发送的,需要参照某些标准——TCP)。原创 2022-12-26 15:50:14 · 237 阅读 · 0 评论 -
网络编程(二)——socket(套接字)
由图可见, socket是连接应用层和运输层的,它就是一组接口,它是应用程序访问下层网络服务的。网络通信需要遵循一堆协议(如图中的TCP/UDP等),协议即标准,如果想开发一款基于网络通信的软件,就必须遵循这些标准。但是,深入理解TCP/UDP等协议并运用太过复杂,socket已经为我们封装好了,我们只需要遵循socket的规定去编程,写出来的程序自然就是遵循TCP/UDP标准的。原创 2022-12-26 14:54:08 · 570 阅读 · 0 评论 -
网络编程(一)——网络基础
学习网络编程,要掌握什么是网络,什么是OSI模型,什么是TCP/IP模型,什么是协议。原创 2022-12-26 12:51:08 · 59 阅读 · 0 评论