TCP协议是一种面向连接的协议,它在网络中提供可靠的、有序的、基于字节流的数据传输。它通过建立连接、数据的确认和重传机制等,确保数据的可靠性和顺序性。在TCP通信中,客户端和服务器之间的数据传输是双向的,双方可以相互发送和接收数据
实现TCP服务器
以下是一个示例,展示了如何使用Python Socket模块实现一个简单的TCP服务器:
import socket # 创建Socket对象 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定IP地址和端口号 server_address = ('localhost', 8888) server_socket.bind(server_address) # 监听客户端连接 server_socket.listen(1) print('服务器已启动,等待客户端连接...') # 接受客户端连接 client_socket, client_address = server_socket.accept() print('客户端已连接:', client_address) # 接收客户端消息 data = client_socket.recv(1024) print('收到消息:', data.decode()) # 发送回复消息给客户端 reply = '欢迎连接到服务器!' client_socket.sendall(reply.encode()) # 关闭连接 client_socket.close() server_socket.close()
在这个示例中,我们首先创建了一个Socket对象并绑定到本地主机的IP地址和指定的端口号。然后,我们调用listen()方法开始监听客户端连接。一旦有客户端连接到服务器,我们通过调用accept()方法来接受连接,并返回一个新的Socket对象来处理客户端请求。
接收到客户端的消息后,我们打印出来,并发送一个回复消息给客户端。最后,我们关闭客户端和服务器的连接
实现TCP客户端
以下是一个示例,展示了如何使用Python Socket模块实现一个简单的TCP客户端:
import socket # 创建Socket对象 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 连接服务器 server_address = ('localhost', 8888) client_socket.connect(server_address) # 发送消息给服务器 message = 'Hello, Server!' client_socket.sendall(message.encode()) # 接收服务器回复消息 reply = client_socket.recv(1024) print('收到回复:', reply.decode()) # 关闭连接 client_socket.close()
在这个示例中,我们首先创建了一个Socket对象,并通过connect()方法连接到指定的服务器地址和端口号。然后,我们发送一条消息给服务器,并通过recv()方法接收服务器的回复消息。
最后,我们关闭客户端的连接
标签:socket,python,通信,server,client,服务器,连接,客户端 From: https://www.cnblogs.com/luckywh/p/17713808.html