Ruby套接字在第二次读取时不返回数据

时间:2018-07-27 00:42:32

标签: ruby sockets cgminer

我家中有一台Asic计算机,我实际上并没有控制权,但是我可以通过TCP(CGminer OS)与它的API通讯。我正在尝试从中记录数据:

socket = TCPSocket.open(address, port)
loop do 
  sleep 1   
  socket.write(command)
  response = socket.read
end

此循环的第一次迭代按预期返回数据,第二次为空字符串。我对套接字一无所知,不确定该怎么做。我知道我可以在每次迭代时重新打开套接字,只是希望我不需要。

1 个答案:

答案 0 :(得分:0)

解决方案是重新打开套接字。

loop do
  socket = TCPSocket.open(address, port)
  response = socket.read
  socket.close
end