0

私は Node.js を初めて使用し、現在 mean.js + socket.io を適切に機能させるのに問題があります。

簡単に言えば、クライアントはハンドラーで発行されたイベントを受け取りませんが、on('connection',...)他のイベントを受け取ります。

私の問題を実証するために、ベースの mean.js アプリケーションでそれを再現しました。

再現する手順:

  1. mean.js をインストール:
    npm install -g generator-meanjs
    yo meanjs

  2. server.js をこれに置き換えます https://gist.github.com/Nihaux/c02d61f6572d6531b60c (setup socket.io)

  3. app/views/layout.server.view.hmtl をこれに置き換えます https://gist.github.com/Nihaux/05041ff4a33f0f5c7508 (ソケット io を起動し、イベントを送信するためのリンクを追加します)

  4. 高速ロガーを無効にするための config/express.js のオプションのコメント行 67 (ノイズが多すぎる)。

  5. DEBUG=socket* ノード server.js を実行します

  6. google-chrome でデバッグバーを開き、ネットワークタブで websocket フィルター

  7. localhost:3000 に移動します。websocket が表示されます: フレーム タブに 5
    3probe
    2probeがあります
    => 「hello」メッセージを受信する必要がありました

  8. ページの下部をスクロールし、
    フレーム タブを更新した後 (別のタブをクリックしてからフレーム タブに戻る)、[TEST ME] をクリックします:
    42["test:received",{"data":"test "}] ==> サーバーから返されたメッセージ
    42["test"] ==> 私が送信したメッセージ
    5
    3probe
    2probe

誰かが私が間違っていることを見つけることができますか?

編集: 実際、クライアントはイベントを受け取りますが、google-chrome はフレーム パネルに表示しません。

4

1 に答える 1

1

このチュートリアルは、Socket.IO を統合し、ベースの MEAN.JS プロジェクトで動作させるための非常に簡単な方法です。お役に立てれば。

于 2015-02-18T12:37:47.260 に答える