問題タブ [express.io]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
399 参照

express - Express.io と Passport.socketio の両方の認証機能をグローバルに使用する方法

socket.io は、ミドルウェア機能を持たない単一のグローバル認証方法をサポートしています。Express.io と Passport.socketio の両方が、ロジックの注入ポイントとしてこの機能に依存しています。

express.io はエクスプレス セッションをリクエストに添付し、passport.socketio はインフレートされたユーザー オブジェクトを添付します。2 つの機能をエレガントに組み合わせるにはどうすればよいですか?

0 投票する
2 に答える
3819 参照

node.js - Express.io で接続されたクライアント

node.jsとexpress.ioを使って簡単なチャットアプリを開発しています

接続しているクライアント (またはオンラインのチャット) のリストを常に表示したいと考えています。

express.io の docでは、新しいクライアントが部屋に入ると、接続されているクライアントのリストを「取得」する方法について明確な方法がありません。つまり、「ブロードキャスト」だけで「取得」はありません。

誰かがこれを以前にやったことがありますか?

どんな手がかりも本当に役に立ちます。

ありがとう!

編集:

@jibsalesの答えを試した後。私たちはほとんどそこにいると思います。クライアントが私に返すのは、実際のクライアントの配列ではなく、次の配列です。

機能は次のとおりです。

配列にはいくつかの循環オブジェクトがあり、ブロードキャストできないため、これは実際にはエラー ( data = JSON.stringify(ev); TypeError: 循環構造を JSON に変換しています) を返します。

何かご意見は?

0 投票する
1 に答える
146 参照

javascript - Express.io で websocket 接続要求を承認する方法は何ですか?

私は 2 つの可能性に遭遇しましたが、websocket を完全に確立する前にチェックを実行するソリューションを好みます。

オプション 1: Express セッション オブジェクトを取得する方法
更新: Express.io は、Express セッションを Socket.io で使用できるようにする独自の「承認」機能を登録するため、これは機能しない可能性があります。

オプション 2: Express セッションを取得するのは簡単ですが、接続は既に確立されています。

0 投票する
2 に答える
123 参照

javascript - 両方を接続する node.js ページで PHP フロントエンド サイトを実行する

私はphpサイトを作成し、sqliteデータベースからの基本的な読み取り、ログインなどを行いました。これは現在、ポート80のxamppで実行されており、すべて問題ありません。

node.js で実行され、socket.io と express.io を使用する別のページを作成しました。現在、ポート 8080 で実行されています。

両方とも異なるポートにある node.js ページに誘導する php サイトのリンクをクリックしたいと思います。これが理解できることを願っています。私はこの問題について多くの検索を行ってきましたが、実行可能な解決策を見つけることができません。

0 投票する
1 に答える
75 参照

javascript - 切断トリガーの前にクライアントの再接続を確認する

そのため、オンライン プレーヤーをリアルタイムで表示しようとしていますが、これまでのところ、1 つの問題を除いてうまく機能しています。私のアプリが切断をリッスンすると、ページの更新によってこの機能がトリガーされ、プレーヤーがログアウトされたように見えます。

ページの更新によってこの関数がトリガーされるのはなぜですか? (プレイヤーがログアウトする他の唯一の方法はログアウト リンクを介することであるため、この機能であることはわかっています) ページの更新を無視し、ブラウザを閉じるなどの切断のみをキャッチするにはどうすればよいですか?

編集:ページがリロードされたか閉じられたかを確認できるように、再接続イベントを「ping」するにはどうすればよいですか? リロードするとすぐに再接続されるので、その再接続を確認するだけです。方法がわかりません!

0 投票する
0 に答える
161 参照

node.js - Express.io には、セッション データをリロードするためのプロパティ権限がありますか??

https://github.com/techpines/express.io/tree/master/examples/sessionsのようにソケットの概念を実装してきました。ページが初期化されると、保存されたセッション データを表示できます。それにもかかわらず、セッションデータが一定の間隔で変化し続けると、そのセッションデータが未定義として出力されます..

しかし、リンクhttp://www.danielbaulig.de/socket-ioexpress/を提供する socket.io 認証とハンドシェイク セッションを使用して、同様の概念をうまく実行できます。

クライアント側コード:

サーバー側コード:


コンソールでは、すべてのエミットで未定義として出力されます...元のユーザーセッションが変化し続けるため、ソケットセッションが更新されない理由を知りたいです... ???

セッションデータの変更を処理するために、サーバー側に追加の設定を行う必要がありますか???

0 投票する
0 に答える
76 参照

javascript - Express.io Room 関数が RequestIO オブジェクトに見つかりません

これが私がやろうとしたことです:

サーバー.js

client.html

問題は、サーバー上の次のコード行でした。

次のエラーが発生します。

目的は、「/created」へのリクエストが行われた後にルームにメッセージをブロードキャストすることでしたが、リクエストを行ったクライアントにはブロードキャストしませんでした。app.io.room を使用してブロードキャストしましたが、リクエストを行ったクライアントを含むすべてのクライアントに送信されますが、それは望ましくありません。

だから私の質問は、それができるかどうかであり、何が間違っているのかということですが、できない場合は、なぜできないのかについての少しの情報がいいでしょう:)

0 投票する
1 に答える
426 参照

javascript - 別のルーター ファイルでの express.io の操作

ルーターとsocket.ioを併用しようとしています。

別のルーターファイルを作成し、ルートとsocket.ioを結合しようとしました

しかし、、/ ルーターを要求すると、次のメッセージで失敗します。

私が何を見逃したのだろうか...