私の考えは、接続するとユーザーが対話できるPythonスクリプトを実行するnetcatサーバーを作成することです。たとえば、スクリプトは数字を要求し、その数字を3乗して出力します。これはどのように達成できますか?プログラムを実行し、接続されたユーザーに出力をリダイレクトし、リアルタイムで対話できるようにするにはどうすればよいですか。
擬似出力:
$ nc 192.168.1.13
Input a number: 2
8
(end)
スクリプト:
print(str(int(input("Input a number: "))**3))
答え1
socat TCP-LISTEN:50011,fork EXEC:'/path/to/script',stderr,pty,echo=0
メモ:
50011
リスニングポートなので直接選択できます。後で接続してください(例:)nc 127.0.0.1 50011
。fork
socat
多くの顧客に(同時に)サービスを提供できます。- そうでない場合は、実際に入力を盲目的に提供した後にのみインポートするのが
pty
一般的です。Input a number:
- 私のテストによると、+
socat
で終了すると、ポートはしばらく使用できます。これが問題になったら(たとえば)考えてみてください。CtrlCreuseaddr
TCP-LISTEN:50011,fork,reuseaddr