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()方法接收服务器的回复消息。
最后,我们关闭客户端的连接
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?