不带确认的Python3 socket.recv

问题描述

我的python程序正在与一个设备通讯,每当它收到对push / ack的确认时,该对话都会延迟整整一秒。对话长达数百甚至数千条消息,因此自然而然地我想找到一种解决方法。

是否有一种方法可以打开与我设备的连接,并保持打开状态以发送给设备,但不使用socket.recv()确认收到的消息?

import socket

s = socket.socket()
s.bind(('',xxxxx))
s.connect(('x.x.x.x',xxxxx))

while True:
    try:
        msg = input()
        if 'exit' in msg:
            data = b'I am done now,bye'
            s.send(data)
            data = s.recv(2048)
            print('recieved final message: ' + str(data))
            break
        msg = msg.encode()
        s.send(msg)
        print('sent message: ' + str(msg))
        data = s.recv(2048)
        print('received message: ' + str(data))
        print()
        data = ''
    except Exception as e:
        print(e)

s.close()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)