これをRubyからPythonに翻訳しようとしています。ルビーコード:
def read_byte
begin
Timeout.timeout(0.5) do
b = socket.read 1
end
rescue Timeout::Error => e
socket.write("\n")
socket.flush
retry
end
end
def socket
@socket ||= TCPSocket.open @host, @port
rescue SocketError
# TODO: raise a specific error
raise "Unable to open connection to #{@host} with given parameters"
end
ここでの私の平均的な問題は
ソケットフラッシュ
フラッシュする方法が見つかりません。他にどのような方法でこれを行うことができますか? 私はこれを書きました。Python コード:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((self.host, self.port))
s.settimeout(0.5)
while True:
try:
print s.recv(1)
except socket.timeout:
s.sendall("\n")