下面就是Python TCP协议发送和接收信息的攻略。
什么是TCP协议?
TCP(Transmission Control Protocol)是计算机网络中用于可靠传输数据的一种协议。TCP 协议是一种面向连接的协议,在传输数据之前必须要先建立连接、维护连接,再关闭连接。
在TCP协议中,连接的两端分别是客户端和服务端。客户端发起连接请求,服务端回应请求建立连接。连接建立后,双方的数据传输就可以开始了。
Python 中的 TCP 编程
在Python中,我们可以使用socket模块进行TCP编程。
下面分别是服务端和客户端的例子:
服务端代码:
import socket
# 定义一个监听IP地址和端口号
host = '127.0.0.1'
port = 8888
# 创建一个socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定 IP 地址和端口号
s.bind((host, port))
# 开始监听连接
s.listen(1)
# 等待客户端连接
print('waiting for connection...')
conn, addr = s.accept()
# 打印客户端的连接地址
print('connected by', addr)
# 循环接收数据并回复
while True:
data = conn.recv(1024) # 接收数据
if not data:
break
# 把接收到的数据加上一个前缀,并把数据回传给客户端
response = 'Received: ' + data.decode()
conn.sendall(response.encode())
# 关闭连接
conn.close()
s.close()
客户端代码:
import socket
# 定义连接参数
host = '127.0.0.1'
port = 8888
# 创建一个socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接到定义好的 ip 和端口号
s.connect((host, port))
# 向服务端发送数据
s.sendall(b'Hello, server. I am client.')
# 接收服务端的响应信息
data = s.recv(1024)
# 打印服务端响应的信息
print('Received:', repr(data.decode()))
# 关闭连接
s.close()
以上是一个简单的Python TCP协议的例子,它实现了客户端与服务端之间的相互通讯。
示例说明
在这个例子中,我们首先定义了一个IP地址和端口号,然后分别对服务端和客户端创建一个socket对象,并使用 bind() 和 connect() 连接两者。
接下来,我们开始了socket的监听,等待客户端连接。客户端连接之后会返回客户端的连接地址。
之后,服务端会不断地接收客户端发送的数据,并在数据前面添加一个前缀,然后将其回传给客户端。客户端在发送完数据之后,等待接收服务端的响应信息即可。
需要注意的是,在socket编程中,数据的传输需要使用二进制格式,在本例中使用的是 b'' 的格式。
希望这个Python TCP协议发送和接收信息的攻略能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python Tcp协议发送和接收信息的例子 - Python技术站