以下是Python网络编程的基础内容介绍:
一、网络编程基本概念
- IP地址:是互联网协议地址(Internet Protocol Address)的缩写,用于标识网络中的设备,好比现实生活中各个家庭的住址,常见的有IPv4(如192.168.1.1)和IPv6格式。
- 端口号:用于区分同一台设备上运行的不同网络服务,范围是0-65535,其中0-1023被系统保留用于一些知名的网络服务,比如80端口通常用于HTTP服务,22端口常用于SSH服务等。
- 协议:规定了网络通信中数据的格式、传输方式、顺序等规则,常见的网络协议有TCP(传输控制协议)和UDP(用户数据报协议)。
二、Python中的网络编程模块
- socket模块:这是Python进行网络编程的核心模块,提供了对底层网络接口的访问功能,能让你创建客户端和服务器端程序,实现网络通信。
三、基于TCP协议的网络编程
- TCP特点:它是一种面向连接、可靠的、基于字节流的传输层协议。意味着通信前要先建立连接,传输过程中会保证数据的完整性、顺序性以及无差错地将数据送达目的地,并且数据以字节流的形式传输。
- 服务器端编程步骤:
- 创建套接字(socket):使用
socket.socket()
函数创建一个基于TCP协议的套接字对象,示例代码如下:
- 创建套接字(socket):使用
import socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
这里AF_INET
表示使用IPv4地址族,SOCK_STREAM
表示使用TCP协议。
2. 绑定IP地址和端口号:通过bind()
方法将服务器的IP地址和端口号绑定到创建好的套接字上,例如:
server_address = ('127.0.0.1', 8888)
server_socket.bind(server_address)
这里绑定了本地回环地址127.0.0.1
和端口8888
,实际应用中可根据需求替换为真实的服务器IP地址。
3. 监听连接请求:使用listen()
方法让服务器进入监听状态,等待客户端的连接请求,如:
server_socket.listen(5)
参数5
表示最大允许排队等待连接的客户端数量。
4. 接受客户端连接:调用