TCP 経由で制御されるリレーを使用しています。私が理解している限り、次のコードは機能するはずです。
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('192.168.0.200', 17494))
s.send(chr(101))
s.close()
しかし、パッケージが実際に送信される前にソケットが閉じられ、リレーが何もしないことに気付きました。汚い解決策として、接続を閉じる前にスリープステートメントを配置すると、正常に動作します。
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('192.168.0.200', 17494))
s.send(chr(101))
time.sleep(0.01)
s.close()
接続を閉じる前にパッケージが実際に送信されたことを確認するために、もっと巧妙にできることはありますか?