Python基于TCP协议实现客户端与服务端通信示例
本文详细介绍如何使用Python标准库socket实现基于TCP协议的客户端与服务端通信。通过创建Socket对象、绑定端口、监听连接及收发字节流数据,演示了完整的交互流程。代码涵盖客户端连接与发送、服务端监听与接收,适合初学者理解网络编程核心概念。
Python TCP通信环境准备
要实现基于TCP协议的信息发送与接收,首先需要准备两个独立的Python脚本文件:一个用于模拟客户端角色,另一个用于模拟服务端角色。
我们将第一个文件命名为客户端脚本(client),负责发起连接并发送数据;第二个文件命名为服务端脚本(server),负责监听端口并接收数据。
以下是客户端脚本的具体代码实现。
客户端连接与发送实现
# client 客户端
# TCP必须建立连接
import socket #导入模块
# SOCK_STREAM---TCP协议方式
# AF_INET----我的是ipv4地址
#1,创建socket对象:指定传输协议
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#2,建立连接发送连接请求 ip地址和端口号
s.connect(('127.0.0.1',8000))
s.send("你好".encode()) #只能发送字节流需要用encode转码字符串成字节,不然无法发送文件
以下是服务端脚本的具体代码实现。
服务端监听与接收处理
#服务端server
import socket
#1创建socket对象
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #必须和客户端保持一致
#2,需要自己绑定一个ip地址和端口号
s.bind(('127.0.0.1',8000))
#3,服务端监听操作时刻注意是否有客户端请求发来
s.listen(3) #可以同时监听3个,但是这里只有一个客户请求,因为没有写多线程
#4,同意连接请求
s1,addr=s.accept() #s是服务端的socket对象s1是接入的客户端socket对象
print(addr)
#5,revice接收数据
data=s1.recv(1024) #设定一次可以接收1024字节大小
print(data.decode())#传过来的字节流需要用decode()解码
程序运行顺序说明
在运行程序时,必须严格遵守顺序:首先运行服务端脚本(文件二),确保其处于监听状态;随后运行客户端脚本(文件一),以建立连接并发送测试信息。
上述内容即为Python TCP协议通信的完整示例,旨在帮助读者掌握基本的网络通信原理。希望该示例能为您的开发工作提供参考,欢迎继续支持本站获取更多技术资源。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









