web-dev-qa-db-ja.com

node.jsなしでsocket.ioスタンドアロンを使用する

(JavaScript初心者)

ソケットを介してサーバーアプリと通信するJavaScriptベースのクライアントアプリを構築しようとしています。 socket.io に出くわしました。 node.jsの依存関係なしでsocket.ioを使用することは可能ですか?

私はsocket.iogithubのクローンを作成し、サーバーに接続するための簡単なクライアントhtmlを作成しました(必要に応じてコードを投稿できます)。ただし、サーバーには接続しません。

(背景情報:カスタムパケット形式プロトコルとのソケット通信をサポートするカスタムサーバーと通信するWin32で実行される単純な構成クライアントユーティリティが必要です。通常のMFC/.NETを経由する代わりに、HTML/JS/CSSはより良い解決策になります。この目的のために、私は次のオプションを検討しました。

  1. Titanium:動作しますが、ランタイムをインストールする必要があります
  2. HTML5 WebSocket:広くサポートされていません-Chromeで動作しますが、IE10が必要です
  3. socket.io:それを機能させようとしています
  4. 他の? (必要に応じて、この質問を別のスレッドとして投稿できます))
21
gammay

成功するSocket.IOを確立します。カスタムサーバーは、 仕様 に従うか、socket.ioの他のサーバー実装を使用する必要があります。
https://github.com/learnboost/socket.io/wiki他の言語の部分socket.ioのいくつかのサーバー実装を含める

5
sbugzu

元の質問への回答には多くのノイズがあります。できるだけ明確に質問に答えようと思います。

Node.jsの依存関係なしでsocket.ioを使用することは可能ですか?

簡単な答えはイエスです。ただし、Flashに依存します。これを行う方法については、 socket.ioのよくある質問 で読むことができます。

2
Jason Kim

私が理解しているように、node.jsのないsocket.ioサーバーが必要ですよね?クロスブラウザーWebSocketと同じようにsocket.ioを使用する場合は十分であり、それが意味することは、socket.ioWebサイトの次の例にうまく示されています。

var socket = io.connect('http://localhost/');
socket.on('connect', function () {
  socket.send('hi');

  socket.on('message', function (msg) {
    // my msg
  });
});

それはあなたのサーバーコードを非常に単純にするでしょう。確かに、あなたはあなたの言語のためのいくつかのWebSocketsライブラリを見つけることができ、あるいはあなた自身のものを書くことさえできます。例については このSO の質問を見てください。

または、socket.io protocol を使用する場合は、pythonやJavaなど、さまざまな言語用の socket.ioライブラリのリスト があります。

1
alex vasi