在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 = client_socket.recv(1024)
print("收到数据:", data.decode())
# 向客户端发送数据
client_socket.send("你好,我是服务器!".encode())
# 关闭客户端socket
client_socket.close()
# 关闭服务器socket
server_socket.close()
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 = client_socket.recv(1024)
print("收到数据:", data.decode())
# 关闭客户端socket
client_socket.close()
首先运行服务器代码,然后运行客户端代码。服务器将接收到客户端发送的数据,并向客户端发送响应。客户端收到服务器的响应后,程序结束。
这只是一个简单的示例,实际的网络编程可能会涉及到更多的概念,如多线程、多进程、异步编程等。在实际项目中,你还可以使用requests
库(用于HTTP请求)或socketserver
库(用于创建更高级的Socket服务器)等进行网络编程。