この Python 3.1 コードを実行して、telnetlib を使用してデバイスにアクセスすると、期待どおりに動作します。
import telnetlib
tn = telnetlib.Telnet("15.39.100.126", "23")
tn.write(b"menu\n")
tn.write(b"0\n")
print(tn.read_all().decode('ascii'))
次に、このコード (上記と非常に似ていますが、このポートは異なるメニューを表示します) をポート 223 に対して実行しますが、何も得られません。
import telnetlib
tn = telnetlib.Telnet("15.39.100.126", "223")
tn.write(b"ipconfig\n")
tn.write(b"exit\n")
print(tn.read_all().decode('ascii'))
223 への telnet セッションを手動で実行すると、次のように報告されます。
WinCEPocket CMD v 6.00
\>
同じデバイスでポートが異なる Python で異なる telnet の動作でこのような問題に遭遇したことはありますか? または、WinCE Pocket でどのような特別なアプローチを取る必要があるかを知っている人はいますか? ポート 23 は WinCE Pocket を使用しません。ポート 223 のみが使用します。どちらの telnet プログラムも、同じ Windows コマンド シェルから同様に適切に実行されます。