为了账号安全,请及时绑定邮箱和手机立即绑定

客户端建立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


正在回答

1 回答

服务器不断的接收返回信息到客户端中,客户端可以不断地额给服务器发送消息,并可以接收到服务器返回的消息。这跟我们聊天一样。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

客户端建立connect后接收来自服务端“连接成功”信息的代码为何要移到while循环内呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信