客户端建立connect后接收来自服务端“连接成功”信息的代码为何要移到while循环内呢?
客户端建立connect后接收来自服务端“连接成功”信息的代码为何要移到while循环内呢,我按照示例移到while循环中然后通过pdb单步调试发现在客户端输入一次信息后,成功接收到服务端返回的信息和随机数,但却也一直阻塞在等待接收服务端消息的过程中。然后我尝试不将建立connect后接收来自服务端“连接成功”信息的代码移到while循环内,程序就正常了。客户端代码如下:
# coding=utf-8
# 导入模块
import socket
# 创建实例
client = socket.socket()
# 访问的服务器端的ip和端口
ip_port = ("127.0.0.1",8888)
# 连接主机
client.connect(ip_port)
# 接收主机信息(每次接受1024个字节)
data = client.recv(1024)
# 打印接收数据
# 此处的byte型数据特指python3.x以上
print(data)
# 定义一个循环,不断的发送消息
while True:
# 输入发送的信息
msg_input = raw_input("请输入发送的消息:")
# 消息发送
client.send(msg_input)
if msg_input == 'exit':
break
data = client.recv(1024)
print(data)
实验环境:python2.7.5