web-dev-qa-db-ja.com

JavaScript用のTelnetライブラリはありますか?

ネットワークカメラがあります。現在の画像を提供するHTTPサーバーがあります。カメラを制御するためのTelnetインターフェースもあります(つまり、トリガー、フォーカスなど)。シンプルなインターフェイスを提供するHTMLページをカメラに追加したいと思います(すでにクライアントソフトウェアを作成しています)。画像を「取得」して表示することはできますが、Telnetインターフェイスを使用してカメラを制御するコントロールも必要です。そのため、ボタンの背後にJavaScriptコードがあり、Telnet経由でカメラに接続(ログイン)し、コマンドを発行してカメラをトリガーする場合があります。

JavaScript /ブラウザが XMLHttpRequest を介した同じホストへの接続をサポートしていることを知っています。この場合、ポート23でソケットを開いて、テキストを送信することを検討します。また、Flash、Java、またはその他のテクノロジを介してこれを実行できることも知っていますが、JavaScriptのみを使用したいと思います。それが可能であれば。

19
Pat O

Thomaschaafは正しいですが、HTML5ではWebSocketが導入されていますが、ソケットを開くとHTTPスタイルの情報を投稿するため、特別なサーバーサポートが必要であることがわかります。

JS/HTML5 WebSocket:HTTP呼び出しなしで接続

現在、真のソケットを持つための最良の方法は、次のいずれかです。

  • 実際のソケット作業を行うWebページでフラッシュまたはJavaコンポーネントを使用します。
  • webSocketの追加のプロトコルオーバーヘッドを処理し、プレーンソケットを使用して実際のtcp/ipポートに接続できる、WebSocketを備えたプロキシサーバーを使用します。

Mattがリンクしたjstermの例は後者を実行し、Webcanがファイアウォールの背後にある場合、別のサーバーを実装しないと、その状況では機能しません。

最初の方法を実装するライブラリがあります。2つは便宜上ここにリンクされています。他の多くは検索エンジンを使用して見つけることができます。

http://stephengware.com/proj/javasocketbridge/ (Java)

http://matthaynes.net/blog/2008/07/17/socketbridge-flash-javascript-socket-bridge/ (Flash)

7
Adam Davis

jsTerm は、TelnetクライアントのHTML5実装です。

HTML5 WebSocketをサポートするブラウザー が必要です。 WebSockets は、純粋なJavaScriptを使用して非HTTPリクエストを実行する唯一の方法です。

5
Matthew Cook

現在、JavaScriptのみでソケット接続を行う方法はありません。

しかし、あなたが探しているのはソケット接続です;)

https://developer.mozilla.org/en/XML_Extras

4
Thomaschaaf

質問を「Javascript用のリモート接続ライブラリはありますか」と自由に解釈すると、答えは「はい」です( https://xtermjs.org/ から引用):

Node.jsでWebSSH2を簡単に試しましたが、うまくいきました。Linuxベースのサーバーに接続することができました。

(これはおそらくOPには役立たないことはわかっていますが、とにかくこれは7年前の質問です。多分それは同様の問題への回答を必要としている他の人に役立つでしょう。)

1
Per Lundberg