在Python中,进行网络编程通常使用socket
库。以下是一个简单的TCP客户端和服务器示例:
- 首先,我们创建一个简单的服务器:
import socket # 创建一个IPv4, TCP的socket对象 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 获取本地主机名 host = socket.gethostname() port = 9999 # 绑定端口号 server_socket.bind((host, port)) # 开始监听连接,最大挂起连接数为5 server_socket.listen(5) print("服务器已启动,等待客户端连接...") # 当客户端连接时,接受连接并创建一个新的socket对象 client_socket, addr = server_socket.accept() print("客户端已连接:", addr) # 接收客户端发送的数据 data = https://www.yisu.com/ask/client_socket.recv(1024)"收到数据:", data.decode()) # 向客户端发送数据 client_socket.send("你好,我是服务器!".encode()) # 关闭客户端socket client_socket.close() # 关闭服务器socket server_socket.close()
- 接下来,我们创建一个简单的TCP客户端:
import socket # 创建一个IPv4, TCP的socket对象 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 获取本地主机名 host = socket.gethostname() port = 9999 # 连接到服务器 client_socket.connect((host, port)) # 向服务器发送数据 client_socket.send("你好,我是客户端!".encode()) # 接收服务器发送的数据 data = https://www.yisu.com/ask/client_socket.recv(1024)"收到数据:", data.decode()) # 关闭客户端socket client_socket.close()
首先运行服务器代码,然后运行客户端代码。服务器将接收到客户端发送的数据,并向客户端发送响应。客户端收到服务器的响应后,程序结束。
这只是一个简单的示例,实际的网络编程可能会涉及到更多的概念,如多线程、多进程、异步编程等。在实际项目中,你还可以使用requests
库(用于HTTP请求)或socketserver
库(用于创建更高级的Socket服务器)等进行网络编程。