問題タブ [channel-api]

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 に答える
200 参照

google-app-engine - チャネル API クライアント ID としてデータストア キーを使用する方法は?

私は次のことを行います:

そして私は得てInvalidChannelClientIdErrorいます。

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

java - Appengine Java&GWT-チャネルを再作成して開くことができません

GWTでgwt-gae-channelライブラリ(v。0.4)を使用してApp Engine Channel APIを使用しており、有効期限が切れた後、チャネルの再作成をテストしようとしています(つまり、onErrorはコード401で呼び出されます)。
テストは次のとおりです。
-GWTRPCメソッドを使用してチャネル(clientID=およびexpiration= 1分)を作成し、必要なトークンを取得します:createTestChannel(useremail)。
--ChannelFactory.createChannel(token、new ChannelCreatedCallback(){...})およびchannel.open(new MySocketListener(){...})を呼び出します-onError(
...)が呼び出されたとき(チャネルの有効期限が切れます) createTestChannel(useremail)を再度呼び出し(同じclientIDの新しいトークンを取得するため)、チャネルを開きますが、常にonError()とonClose()が呼び出されます。
ページを更新するか、同じコードで新しいタブを開くと、最初のチャネルの作成は正常に機能しますが、各チャネルの有効期限が切れると、それらを再作成できません。別のclientIDも試しましたが、機能しません。

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

google-app-engine - 同じGAEチャネルトークンがタブ間で機能しますか?

Channel APIのGAEドキュメントを見ると、

特定のクライアントIDを使用してチャネルに接続できるのは一度に1つのクライアントのみであるため、アプリケーションはファンアウトにクライアントIDを使用できません。つまり、複数のクライアントに接続するための中央のクライアントIDを作成することはできません。

と矛盾しているようです

create_channel()によって返されたトークンをシークレットとして扱います。悪意のあるアプリケーションがトークンにアクセスすると、使用しているチャネルに沿って送信されたメッセージをリッスンする可能性があります。

どうしてそれらは両方とも真実であることができますか?しかし、もっと重要なことは、アプリにログインしているユーザーごとに1つのチャネルを作成することを計画していることです。これで、ユーザーがアプリで新しいタブを開いた場合、同じトークンを再度使用できますか?タブごとに1つのチャンネルを作成するという選択肢は、高価なことは言うまでもなく、ユーザーが開いている音はかなり奇妙です。

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

java - onMessage()が呼び出されたときに、gwt-channel-apiを使用してイベントを起動およびキャッチすることはできません

GWT + App EngineチャネルAPIを使用していますが、メッセージを受信したときにイベントを発生させたいと考えています。インターフェイスDataUpdateHanlder(EventHandlerを拡張)とクラスDataUpdateEvent(GwtEventを拡張)を作成し、SimpleEventBusでaddHandler(...)メソッドとfireEvent(...)メソッドを使用して、ハンドラーを登録し、メッセージが受信されたときにイベントを処理します。問題は、イベントが発生しても、イベントがハンドラーに到達しないことです(onDispatch(event)では何も起こりません)。

単純なインターフェイスを作成して使用し、そのメソッドを呼び出すだけで、すべてが正常に機能します(ただし、onMessage(...)を処理するクラスごとにオブジェクトのリストを作成する必要があります)。私は何が間違っているのですか?

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

javascript - Chrome 拡張機能 - チャネルの実装

Google App Engine (Python) で実行されているバックエンド サーバーでチャネルを実装しようとしていますが、Chrome のフロントエンド コードの書き方がわかりません。コードをいくつか見つけましたが、パートナーがバックエンド コードを作成するのを待っているため、テストできません。これを正しく実装しているかどうか疑問に思っています。

また、コードがどのようにトリガーされるのかわかりませんか? このチャネルが作成されるきっかけは何ですか?

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

google-app-engine - GoogleAppEngineのチャネルトークンとクライアントIDの関係

ChannelAPIに関するGoogleAppEngineのドキュメントには、「特定のクライアントIDを使用してチャネルに接続できるのは一度に1つのクライアントのみ」と記載されています。

逆に、同じクライアントIDでチャネルを作成しようとすると、新しいチャネルが消費されます。つまり、ClientID「user_one」のcreat channel apiをchannelService.createChannel("user_one");10回呼び出すと、10個の異なるトークン文字列を持つ10個の異なるチャネルが作成され、「user_one」channelService.sendMessage(new ChannelMessage("user_one", message));にメッセージを送信すると、異なるデバイス上の10個のクライアントすべてになります。 、メッセージを受信します!

このシナリオをどのように説明しますか?このメカニズム(異なるチャネルを持つ1つのclientID、すべて同じメッセージを受信する)からどのように利益を得ることができますか?シングルユーザー用に複数のチャネルが作成されないようにするにはどうすればよいですか?

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

google-app-engine - チャネル api GAE チャネルは、開いた直後に閉じられました

まず、すばらしい Channel API を提供してくれた Moishe に感謝します。Google Channel API ドキュメントに記載されている簡単なシナリオを実行しています。私が直面している問題は、チャネルが開いた直後に閉じられることです。

Feed に GET リクエストを発行します。

それは、チャネルが開いているのに続いて、未定義のメッセージが受信された -> チャネルが閉じられた -> チャネルエラーが表示されるときです。

明らかに、私はここで何かを見落としています。誰かがそれを指摘できれば非常に感謝します。助けてくれてありがとう。

よろしくお願いします

JR

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

google-app-engine - GAE チャネル API メッセージは 1 つのクライアントのみにブロードキャストされますか?

最近、Google App Engine の Channel API を学ぼうとしています。

簡単なチャットアプリを作ろうとしましたが、問題が発生しています。

これは一般的に私がやったことです。

サーバーが静的チャネルを開きます。

クライアント js は次の方法でチャネルに接続します。

私は Google App Engine ユーザーを使用していません。クライアントがログインする必要はありません。

私の問題は、チャット アプリが実際には機能しないことです。チャネルに参加できるクライアントは 1 人だけです。チャネル ルールごとに 1 つのクライアント ID があることはわかっています。では、1 つの「チャット ルーム」で複数のクライアントをサポートするにはどうすればよいでしょうか。

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

python - チャネルAPIプレゼンスがトリガーされない

ChannelAPIのPresenceを使用して切断/接続状態を処理しようとしています。

これが私のコードの一部です。

app.yaml

main.py

Javascript

このコードを使用しconnnectdisconnectユーザーがブラウザなどを閉じたときにトリガーされません。

このコードに何か問題がありますか?

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

google-app-engine - 「チャネルオープン」としてカウントされるものは何ですか?

請求ページで、チャネルを「開く」のに$0.00001かかることがわかります。しかし、それはどういう意味ですか?それはトークンを作成するためのコストですか、それともクライアントでソケットを開くためにそれを使用するためのコストですか?

クライアントでソケットを開くコストである場合、それはトークンの作成が無料であることを意味しますか?

そして、ユーザーがページを更新した場合はどうでしょうか。それは別のオープニングとしてカウントされ、再度請求されますか?