83

JavaScript \ HTMLでソケットを使用する方法は?

クールなHTML5を使用している可能性がありますか?

図書館?チュートリアル?ブログ記事?

4

3 に答える 3

78

JavaScript / HTMLでソケットを使用する方法は?

JSまたはHTMLで汎用ソケットを使用する機能はありません。一つには、それはセキュリティ災害になるでしょう。

HTML5にはWebSocketがあります。クライアント側はかなり些細なことです。

socket= new WebSocket('ws://www.example.com:8000/somesocket');
socket.onopen= function() {
    socket.send('hello');
};
socket.onmessage= function(s) {
    alert('got reply '+s);
};

接続を取得して何かを行うには、サーバー側に専用のソケットアプリケーションが必要です。これは、Webサーバーのスクリプトインターフェイスから通常行うことではありません。ただし、これは比較的単純なプロトコルです。私のうなずくPythonSocketServerベースのエンドポイントは、ほんの数ページのコードでした。

いずれにせよ、それはまだ実際には存在していません。JavaScript側の仕様もネットワークトランスポートの仕様も明確にされておらず、ブラウザはそれをサポートしていません。

ただし、利用可能な場合はFlashを使用して、WebSocketが広く利用可能になるまでスクリプトにフォールバックを提供できます。Gimiteのweb-socket-jsは、そのような無料の例の1つです。ただし、Flash Socketsと同じ制限があります。つまり、サーバーはソケットポートへの要求に応じてクロスドメインポリシーを吐き出す必要があり、プロキシ/ファイアウォールで問題が発生することがよくあります。(フラッシュソケットは直接作成されます。HTTPプロキシを介してのみネットワークから抜け出すことができる直接のパブリックIPアクセスを持たない人にとっては、それらは機能しません。)

低遅延の双方向通信が本当に必要でない限り、XMLHttpRequest今のところは固執するほうがよいでしょう。

于 2009-11-15T03:01:29.723 に答える
57

仕様:

記事:

チュートリアル:

ライブラリ:

于 2009-11-15T02:48:16.680 に答える
46

この質問は1年以上前のものであり、Socket.IOが出てきて、ブラウザでソケットを操作するための主要な方法のように思われることを言及することが重要だと思います。私の知る限り、 Node.jsとも互換性があります。

于 2011-02-25T18:08:17.100 に答える