我正在使用下面的代码尝试从I套接字接收所有数据。当我向设备发送SCPI命令“ FETCh?\ n”时,它将返回大量数据,而recv()函数仅返回其中的一部分。
有人知道如何解决这个问题吗?预先感谢!
class SCPI:
PORT = 5025
def __init__(self, host, port=PORT):
self.host = host
self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.s.connect((host, port))
self.f = self.s.makefile("rb")
def scan(self):
self.s.send("FETCh?\n")
data = self.s.recv(268435456)
print(data)
return data
答案 0 :(得分:0)
recv
返回最多所请求的金额。您必须检查返回值并再次调用它,直到收到期望的金额。实现一个可累积数据并返回所请求确切数量的缓冲区。