随笔分类 -  python高级

多任务编程、网络变成、高级语法、正则表达式等
摘要:概念 HTTP的全称是(HyperText Transfer Protocol)即超文本传输协议。 是一种用于在Web上发送和接收信息的应用层协议。它是互联网的核心协议之一,用于客户端和服务器之间的通信。 从3个角度分析http协议: HTTP使用统一的客户端-服务器模型,客户端向服务器发送HTTP 阅读全文
posted @ 2023-08-15 23:56 Allen_Hao 阅读(73) 评论(0) 推荐(0)
摘要:概念 网址又称为URL,URL的英文全拼是(Uniform Resoure Locator),表达的意思是统一资源定位符,通俗理解就是网络资源地址。 是一串标识和定位互联网上资源的字符串,用于唯一地指示资源的位置和访问方式。 组成 https://www.example.com:443/path/t 阅读全文
posted @ 2023-08-15 23:41 Allen_Hao 阅读(1066) 评论(0) 推荐(0)
摘要:UDP不像TCP创建连接时有3次握手,而是直接发送数据,不管对方是否接收到。 UDP网络通信不区分客户端和服务端。 UDP收发数据的步骤 1.创建UDP套接字对象 2.直接发送数据 3.读取数据 4.关闭套接字 示例 服务端 1 ''' 2 UDP应该说没有服务端和客户端,只是习惯称发请求的为客户端 阅读全文
posted @ 2023-08-12 22:28 Allen_Hao 阅读(76) 评论(0) 推荐(0)
摘要:分析 当客户端和服务端建立连接成功,创建子线程,使用子线程专门处理客户端的请求,防止主线程阻塞 示例 服务端 1 import socket 2 import threading 3 4 5 # 处理客户端函数 6 def handle_client(conn_socket, ip_port): 7 阅读全文
posted @ 2023-08-12 19:39 Allen_Hao 阅读(49) 评论(0) 推荐(0)
摘要:TCP socket的发送和接收缓冲区 当创建一个TCP socket对象的时候会有一个发送缓冲区和一个接收缓冲区,这个发送和接收缓冲区指的就是内存中的一片空间。 send或sendall方法是不是直接把数据发给服务端? 不是,要想发数据,必须得通过网卡发送数据,应用程序是无法直接通过网卡发送数据的 阅读全文
posted @ 2023-08-12 19:11 Allen_Hao 阅读(97) 评论(0) 推荐(0)
摘要:什么是客户端&服务端? 1.TCP网络应用程序开发分为客户端程序开发和服务端程序开发。2. 主动发起建立连接请求的是客户端程序3. 等待接受连接请求的是服务端程序 TCP客户端开发流程 TCP客户端与服务端启动、交换过程: TCP客户端开发步骤: 1.创建客户端套接字对象(买电话) 2.和服务端套接 阅读全文
posted @ 2023-08-12 19:00 Allen_Hao 阅读(119) 评论(0) 推荐(0)
摘要:网络传输数据的类型(二进制) 网络传输是以二进制数据进行传输的,因此在网络传输数据的时候,数据需要先编码转化为二进制(bytes)数据类型 数据的编解码 在Python中进行网络数据传输编解码通常涉及到将数据转换为字节流进行传输,并在接收方将字节流转换回原始数据。 编码 编码是将数据从一种形式转换为 阅读全文
posted @ 2023-08-12 07:36 Allen_Hao 阅读(826) 评论(0) 推荐(0)
摘要:什么是TCP? TCP的英文全拼(Transmission Control Protocol)简称传输控制协议,它是一种面向连接的、可靠的、基于字节流的传输层通信协议。 它提供了端到端的数据传输,确保数据按顺序到达目标,并进行错误检测和恢复 常用于对数据进行准确无误的传输,比如: 文件下载,浏览器上 阅读全文
posted @ 2023-08-12 00:10 Allen_Hao 阅读(564) 评论(0) 推荐(0)
摘要:客户端 ''' 在使用Socket客户端时,还需要考虑以下几点最佳实践: 1. 使用异常处理:Socket操作可能会抛出异常,例如连接错误或数据传输错误。因此,在使用Socket客户端时,应该使用适当的异常处理来捕获和处理这些异常。 2. 关闭连接:在不再使用Socket连接时,应该及时关闭连接,以 阅读全文
posted @ 2023-08-11 22:55 Allen_Hao 阅读(127) 评论(0) 推荐(0)
摘要:1 import socket # 1. 导入内置的socket模块 2 3 # 2. 创建Socket对象 4 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 5 6 # 3. 连接服务器 7 server_add 阅读全文
posted @ 2023-08-11 22:26 Allen_Hao 阅读(39) 评论(0) 推荐(0)
摘要:MySQL服务器配置TLS/SSL证书步骤 1. 生成自签名的CA证书: 首先,使用openssl命令生成一个自签名的CA证书。可以执行以下命令来生成: openssl req -x509 -newkey rsa:4096 -keyout ca.key -out ca.crt -days 365 这 阅读全文
posted @ 2023-08-10 00:26 Allen_Hao 阅读(97) 评论(0) 推荐(0)
摘要:在网络通信中,保护数据的安全性是非常重要的。Socket模块本身并不提供对数据的加密传输功能,但可以与其他加密协议或库结合使用,实现加密传输。 常见的加密传输方式包括SSL/TLS和SSH SSL/TLS加密传输 说明: 使用Python的ssl模块可以对Socket连接进行SSL/TLS加密。 首 阅读全文
posted @ 2023-08-10 00:12 Allen_Hao 阅读(614) 评论(0) 推荐(0)
摘要:Socket模块是Python标准库中的一个网络编程模块,提供了一种用于网络通信的接口。其中的Socket类是用来创建套接字对象的,通过该对象可以进行网络通信 Socket类的常用方法及其说明: Socket类的构造方法: socket(family=AF_INET, type=SOCK_STREA 阅读全文
posted @ 2023-08-10 00:03 Allen_Hao 阅读(292) 评论(0) 推荐(0)
摘要:什么是Socket 在网络通信中,Socket(套接字)是一种用于实现网络通信的编程接口。它提供了一组函数和方法,使得应用程序能够通过网络进行数据传输和通信。 Socket可以看作是应用程序与网络之间的一个抽象层,通过Socket,应用程序能够创建网络连接、发送和接收数据,并进行网络通信的各种操作。 阅读全文
posted @ 2023-08-09 23:42 Allen_Hao 阅读(345) 评论(0) 推荐(0)
摘要:端口 网络通信除了知道IP还要知道对方的端口。何为端口? 何为端口?端口是传输数据的通道,是数据传输必经之路 当运行一个web程序默认会有一个端口号,当这个程序退出时,所占用的这个端口号就会被释放 端口号 何为端口号?操作系统为了统一管理这么多端口,就对端口进行了编号,这就是端口号,端口号其实就是一 阅读全文
posted @ 2023-08-09 23:16 Allen_Hao 阅读(204) 评论(0) 推荐(0)
摘要:IP地址是什么 P地址是用于在网络中唯一标识设备的一组数字即终端在该网络中的身份证。它分为IPv4和IPv6两个版本。 IPv4地址由32位二进制数字组成(分4段,因此每段最大值是255),通常以点分十进制表示,如192.168.0.1。IPv4地址分为网络地址和主机地址两部分,其中网络地址用于标识 阅读全文
posted @ 2023-08-03 00:24 Allen_Hao 阅读(187) 评论(0) 推荐(0)
摘要:1. 网络概念 网络是指将多个计算机或设备连接在一起,通过通信协议进行数据传输和信息交换的系统。它可以是局域网(LAN)、广域网(WAN)或互联网等不同范围和规模的网络。 网络的主要组成部分包括: 设备:包括计算机、路由器、交换机、调制解调器等硬件设备,用于连接和传输数据。 协议:用于定义设备之间通 阅读全文
posted @ 2023-08-03 00:01 Allen_Hao 阅读(258) 评论(0) 推荐(0)
摘要:在Python中,进程(Process)和线程(Thread)都是用于实现并发执行的机制,但它们有一些重要的区别。 执行方式:进程是程序的一次执行过程,具有独立的内存空间,每个进程都有自己的代码段、数据段和堆栈;而线程是在进程内部执行的,共享进程的内存空间,包括代码段、数据段和堆栈。 资源占用:由于 阅读全文
posted @ 2023-07-29 15:28 Allen_Hao 阅读(92) 评论(0) 推荐(0)
摘要:在Python中,可以使用concurrent.futures模块提供的线程池来管理和执行多个线程任务。线程池提供了一种方便的方式来处理并发任务,可以有效地利用系统资源,提高程序的性能。 ''' 在Python中,可以使用concurrent.futures模块提供的线程池来管理和执行多个线程任务。 阅读全文
posted @ 2023-07-29 15:14 Allen_Hao 阅读(50) 评论(0) 推荐(0)
摘要:1 import threading 2 3 4 # 全局变量 5 g_num = 0 6 7 8 # 对g_num进行加操作 9 def sum_num1(): 10 # 上锁 11 print("sun_num1...") 12 print(f"sum_num1 id(mutex) {id(mu 阅读全文
posted @ 2023-07-29 12:32 Allen_Hao 阅读(26) 评论(0) 推荐(0)