問題タブ [pusher]
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.
pusher - プッシャー認証はどのように機能しますか?
Pusher で認証がどのように機能するかを正しく理解しているかどうかはわかりません。私が懸念しているシナリオは次のとおりです。
- ユーザーがプライベート チャネルにサブスクライブしたいので、Pusher ライブラリが認証トークンを取得するためにサーバーを呼び出します。
- サーバーはユーザーがログインしているかどうかを確認し、トークンを返します
- これで、ユーザーはこのトークンを取得し、アプリからログアウトします。
- ユーザーは、ログアウトしていても、別のマシンからの認証トークンを使用して同じプライベート チャネルにサブスクライブできます。
ポイント4は有効ですか?ユーザーがアプリからログアウトした後、認証トークンを使用することはできますか?
ruby-on-rails - Rails の邪魔にならない JavaScript ajax コード
create.js.erb
これを以下のようなものに変更する必要があります。
これは、 MessagesControllerのcreateメソッドに対する ajax リクエスト呼び出しです。この関数をindex.html.erbからのコールバックとして呼び出してPusherサーバーを使用するには、そのように変更する必要があります。私が実現したいのはリアルタイム チャット アプリケーションです。そのため、すべてのクライアントがブラウザーを更新せずにメッセージをプッシュできる必要があります。
index.html.erb
create.js.erb ファイルのコンテキストと何らかの形で混乱していると思います。誰でもこれで私を助けることができますか?
アップデート:
メッセージコントローラー
android - プッシャーの HttpAuthorizer()
多数の Android クライアントが相互に通信できるようにするには、Pusher にプライベート チャネルが必要です。本当に複雑ですが、Pusherをお勧めしました。私はすべてのドキュメントを何度も読んだので、誰か (Mr. Leggetter?) が私に手を貸してくれることを願っています。
クライアントに Pusher Android JAR をインストールし、「イベント クリエーター」からトリガーするパブリック チャネルをサブスクライブできますが (非常にきれいです)、プライベート チャネルを機能させるために、イベントをトリガーするために、これが必要です:
http://pusher.com/docs/authenticating_usersによると、HttpAuthorizer() には、JSON 認証トークンで応答するアプリ サーバーを指す URL が必要です。https://raw.github.com/pusher/pusher-android-example/master/src/com/pusher/android/example/MainActivityの例のように、認証を提供するために独自のアプリ サーバーをセットアップする必要がありますか。 java、またはプッシャーはこれを提供できますか? これは、プッシャーが提供する必要があるもののようです。
私のアプリの Ruby サーバー コードの例 (Java がないのはなぜですか?) では、次のように表示されますPusher.url = "http://{key}:{secret}@api.pusherapp.com/apps/{app_id}"
。ただし、この URL は存在しません。HttpAuthorizer() で試してみたところ、java.io.FileNotFoundException が発生しました。([設定] の下に [クライアント イベントを有効にする] チェックボックスが見つかりました。チェックしても意味がありませんでしたが、これは重要なステップだと思います。)
認証用に独自のアプリ サーバーをセットアップする必要がある場合は、GAE で Java を使用したいと考えています。http://pusher.com/docs/authenticating_users#implementing_private_endpointsには Python/GAE の例がありますが、Java はなく、Python も知りません。これのためのライブラリはありますか?https://github.com/marcbaechinger/gae-java-libpusher#はトリックを行いますか? そうは思えません。
php - Javascript を使用して同じページで 2 つの Pusher アプリをリッスンする
私はかなりの数ヶ月間プッシャーを使用して成功しています. ソリューションの「プッシュ」部分の詳細については説明しません。これは既に機能しているためです。私の問題は、2 番目のアプリを聴こうとするときのリスナー側にあります。同じアプリの 2 番目のチャネルではなく、2 番目のアプリを言ったことに注意してください。
これは、少なくとも6か月間うまく機能し、HEADセクションの同じHTML/PHPページにこれの2番目のバージョンを追加しようとするまで、引き続きうまく機能するものです.
明らかな理由から、キーを特定の情報に変更しました。
Pusher 内の 2 番目のアプリを指すこの 2 番目のコピーを追加するにはどうすればよいですか?
私の懸念は、チャネルなどの同一の変数のようなものがある場合に問題が発生することです。チャンネルの名前をチャンネル 2 に、プッシャーをプッシャー 2 に変更しようとしましたが、機能しなくなりました。
javascript - 一度だけサブスクライブしながら「チャンネルへの既存のサブスクリプション」
サブスクライブ メソッドを 1 回しか呼び出していないにもかかわらず、「チャンネルへの既存のサブスクリプション」例外をスローする小さなスニペットがあります。
これは、サブスクライブ要求を「state_change」ハンドラーの外に移動することで回避できますが、何が原因なのだろうか? プッシャーライブラリのバグでしょうか?
これにより、次の結果が得られます。