3

現在取り組んでいるクラス用にこのプロジェクトがあります。ここにあります:

  • ポートを選択して接続する機能を備えた、標準ポート以外の Telnet 用の Web ページ クライアント

telnet サーバーを搭載したマシンがあり、接続を待っています。

したがって、私の考えは、専用マシンに高速サーバーを備えた nodeJS をセットアップすることでした。これは、telnet を介した接続を処理し、socket.io を使用してサーバー側と情報を交換するクライアント用のページをホストします。

しかし、私はそのような技術に不慣れなので(電気通信の学生)、それが可能かどうか疑問に思います。私はこのようなものを見つけました-Peter Nitsch による jsterm.com ですが、コードに大きなギャップがあり、デモが実際には機能しないことがわかります。実際に機能するかどうかはわかりません。誰かがこれを試しましたか?

私のもう1つの問題は、websocketsを介してnodeJSサーバーに情報を送信するときです。これは達成可能と思われますが、この情報をどうすればよいですか? 別の Websocket をセットアップして、クライアント Websocket から取得した同じデータを直接 telnet ポートに渡すだけですか?

反対側で待機する websocket なしで、ソケットを特定のポートに直接接続できますか?

私の考えが間違っている場合、誰かが私を助けてくれますか - おそらくいくつかの良い解決策が存在します - たとえば、Anyterm について考えていましたが、Apache サーバーが必要であり、まったく異なるテクノロジを実行していることがわかります...

4

1 に答える 1

4

明確にするために、WebSocket 接続は生の TCP ソケット接続ではありません。各パケットには追加のヘッダー情報があり、ブラウザーからサーバーへのデータは実行中の XOR を使用してマスクされます。

ブラウザが通常の TCP サーバー (telnet サーバーなど) と通信するには、ある種のブリッジ サービスが必要です。たまたまそのようなものがすでに存在しています。websockifyは、WebSocket 接続を受け入れて生の TCP サーバーにブリッジするサーバーです。

実際、websockify プロジェクトには、サンプル アプリケーションとして動作する telnet クライアントが既に含まれています。ただし、websockify の 1 つの制限 (セキュリティ上の理由による) は、クライアントが接続先の任意のサーバー アドレス/ポートを選択できないことに注意してください。ターゲット アドレスは、websockify のコマンド ラインで指定された単一のターゲットとして、または構成ファイルで指定された (および WebSocket 接続文字列のトークンを介して選択された) 複数のターゲットとして事前定義されている必要があります。

さまざまな言語 (python、C、node、ruby、Clojure) で websockify の複数の実装がありますが、現在、構成ファイルを介して複数のターゲットをサポートしているのは python バージョンだけです。

免責事項: websockifyを作成しました。

于 2012-11-19T16:33:10.280 に答える