【python】socket网络编程(tcp\udp)


0.udp

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面回环网卡127.0.0.1永远不变
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一台有ip的主机可提供很多服务,如:http(维网服务),FTP(文件传输),SMTP(电子邮件),所以用ip+端口区分不同服务,端口不是收发端一一对应,如你电脑3456端口去访问www服务器80端口。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

0.1 发送

缩进:Esc,V,shift+< ,下面为ubuntu系统主机向——>windows系统主机中调试助手客户端发送数据:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如下发送数据需要编码encode ,不管b还是utf-8:
在这里插入图片描述
在这里插入图片描述

0.2 接收

下面为windows系统主机中的调试助手客户端向——>ubuntu系统主机接收数据:
在这里插入图片描述
在这里插入图片描述
在windows系统主机调试助手中发:hahaha,ubuntu主机显示如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
发送可以不绑定端口,接收必须绑定端口。同一个端口不允许同一时刻被用两次。
共享两函数中的数据要么全局变量,要么返回值。共享两电脑中的数据用网络通信。
在这里插入图片描述

0.3 同一个套接字进行收和发

在这里插入图片描述
在这里插入图片描述

0.4 udp聊天器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如上就是漏洞,如果一直向电脑里发大量数据,系统就挂了。

1.tcp

udp:简单不安全丢数据,像写信,每次需要写地址,对方不知道你有没有发信件,也不会回信件告诉你收到了。
tcp:复杂安全,像打电话,有应答可补救。
在这里插入图片描述
tcp3次握手,4次挥手
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.1 tcp客户端

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2 tcp服务端

游戏选区就是选服务器,服务器离你越近越不卡
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3 tcp下载文件

在这里插入图片描述
在这里插入图片描述
以下在服务端中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如下就不用绑定端口
在这里插入图片描述

1.4 http协议及简单web服务器实现

http协议基于tcp(稳定),request和response都遵循http协议格式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
返回固定页面的http服务器,以下代码都在服务端中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以下讲解为什么在tcp的4次挥手中客户端先调close
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
返回浏览器需要的页面http服务器:把.html文件内容读出来写入body中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如下客户端得到index.html,但index.html里有很多图片超链接要继续get
在这里插入图片描述
如下修改为让图片显示即返回指定文件,main函数不变
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

附:

发布了79 篇原创文章 · 获赞 108 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43435675/article/details/103940608