問題タブ [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 に答える
574 参照

google-app-engine - Google Channel API - 一部のクライアントでソケットが開かない

XMPP サービスとチャネル サービスを使用して簡単なチャット アプリケーションを開発しています。自宅で正常に動作するようになりました。ただし、別のユーザーがサイトにアクセスしようとすると、onOpen コールバック メソッドが呼び出されません。FireFox 3.6以降とChromeを使用してさまざまな場所から試してみましたが、うまくいきました(自宅、職場)。

ユーザーが職場からアクセスしている場合、これがシステム管理者によってブロックされている可能性はありますか? それとも、使用されているブラウザでしょうか?この人に FireFox と Chrome を試してもらいました。私はそこにいなかったので、使用されたブラウザのバージョンはわかりません。IEは私のために働いていないので、私はそれには関心がありません。

どんな洞察も大歓迎です。

0 投票する
4 に答える
2377 参照

google-app-engine - Google App EngineChannelsAPIとクライアントからのハートビート信号の送信

GAEプロジェクトに取り組んでおり、私たちが持っている1つの要件は、ユーザーがアプリケーションを離れたかどうかをタイムリーに判断できるようにすることです。現在、これは機能していますが、信頼性が低いため、代替案を調査しています。

これを行う方法は、AJAX呼び出しを使用してハートビート信号をGAEアプリに送信する間隔でJSで実行する関数を設定することです。これは比較的うまく機能しますが、大量のトラフィックとCPU使用率を生成しています。クライアントから数分間ハートビートが聞こえない場合は、クライアントがアプリケーションを離れたと判断します。また、アンロード関数を配線して、AJAX呼び出しを介してパーツメッセージを送信します。これはあまりうまく機能しませんが、ほとんどの場合、まったく機能しません。

ChannelsAPIも利用しています。私が気づいたことの1つは、私たちのアプリがオープンチャネルを使用している場合、クライアントはhttp://talkgadget.google.com/talkgadget/dch/bindへの呼び出しの形でハートビート信号も送信しているように見えることです。これは、クライアントでチャネルを開くときに読み込まれるiFrameやJSから発生していると思います。

私の質問は、サーバー側のアプリがhttp://talkgadget.google.com/talkgadget/dch/bindへのこれらの呼び出しにどのように接続し、これをハートビート信号として使用できるかということです。クライアントでアクティブに何もしていない場合でも、クライアントがまだ接続されているかどうかを検出するためのより良い方法はありますか?

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

google-app-engine - Channel API の請求はどのように行われますか?

スケーラビリティを理由に google-app-engine を選択しましたが、製品をリリースしたらいくら支払わなければならないかを理解しようとしています。

質問に対する回答を見つけるために、Google App Engine のドキュメントを何度も調べましたが、見つかりませんでした。「Quotas」ページには詳細がほとんど見つかりませんでしたが、無料でどれだけ取得できるか、および課金のデフォルトの割り当てはいくらかを見つけました。

課金ページには、CPU などの数値と、リソースとユニット、およびそのコストが表示されます。しかし、チャネル呼び出し/作成などごとにどれくらいの費用がかかるかをどこで見つけることができませんでした.

管理コンソールに表示されているものを計算することさえできません。現在の数値が 0 になっているためです (プログラマーであるユーザーが 2 人いるため)。

毎日膨大な数のチャネルが作成される製品のリリースに向けて、どのように準備を整えることができますか?

見逃したページはありますか、または計算するためのツールはありますか?

ありがとう!

編集:Moishe、迅速で読みやすい回答をありがとう。では、さらに質問があります。 1. 必要に応じて、チャネル数の割り当てをさらに増やすことができると思いますか? より多くのクォータを要求するための特別なフォームがあるのを見ましたが、Channel-API 機能が含まれているかどうかはわかりません. ユーザーごとにトークンを再利用することについていくつか見ました。もっとありますか?

再度、感謝します。

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

google-app-engine - Google App Engine Xmppは、ユーザーのステータスを管理する方法をチャットしますか?

xmppとチャネルAPIを使用して、次のようなチャットを取得するのは簡単です...

http://www.dev-articles.com/article/Google-App-Engine-sending-messages-with-XMPP-393002

これは一例ですが、ユーザーのステータスを管理するための最良の方法を理解するために少し戦っています。それについてある程度の経験がある人はいますか?

ドキュメントhttp://code.google.com/appengine/docs/java/xmpp/overview.htmlの「UserPresence」の部分を読みましたが、まだ理解できていません...

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

java - Google appengine チャネル API (Java) の問題

Channel API に問題があります。何か助けていただければ幸いです。

ローカル dev サーバー上の API には問題はありませんが、appspot に置くと難解な例外がスローされます。完全なスタック トレースが添付されていますが、見出しは次のとおりです。

過度に複雑なことをしていないことを確認するために、アプリをサーブレットと jsp (両方とも添付) に煮詰めました。このフォーラムやその他のメッセージを読むと、トークンとチャネル キーの誤用かもしれませんが、考えられるすべての組み合わせを試してみましたが、役に立ちませんでした。

サーブレットのスニペット:

jsp のスニペット:

スタック トレースから、クライアントはチャネルに正常に接続しており、メッセージを正常に送信していますが、メッセージをチャネルに書き戻すサーブレットが少し失敗しています。

助けてくれてありがとう!

コード:

ChannelTestController.java

ChannelTestPage.jsp

ログ:

/ChannelTestMessage.do com.google.appengine.api.channel.ChannelFailureException: 予期しないエラーが発生しました。com.google.appengine.api.channel.ChannelServiceImpl.getExceptionForError(ChannelServiceImpl.java:112) で com.google.appengine.api.channel.ChannelServiceImpl.sendMessage(ChannelServiceImpl.java:68) で com.webstersmalley.chessweb.web .ChannelTestController.sendMessage(ChannelTestController.java:74) の com.webstersmalley.chessweb.web.ChannelTestController.getChannelTestMessage(ChannelTestController.java:68) の sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド) の sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) で java.lang.reflect.Method.invoke(Method.java:

0 投票する
4 に答える
5161 参照

google-app-engine - XMPPとGoogleAppEngineのチャネルAPIの違い

AppEngineに常駐せず、通信Webクライアント(ブラウザー+ JavaScript)とモバイルクライアント(ActionScript)を配置するチャット機能を備えたアプリケーションを開発しています。AppEngineでXMPPプロトコルを使用することを考えています(その後、Googleのチャット機能にサーバーのみを使用し、残りはサーバーに残します)。これが可能かどうか教えてください。Channel APIとの違いは何ですか?ありがとう

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

google-app-engine - Channel API チャットでアクティブなユーザーの数を追跡する方法

Google Channel API と appengine を使用して小さなチャットに取り組んでいます。チャットでアクティブなユーザーの数を簡単に知る方法はありますか?

ありがとう、デビッド

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

google-app-engine - Channel API はチャネルを閉じます

まず、非常に便利な API を提供してくれた @Moishe に感謝します。少しタイムアウトの問題があります。誰かが答えを知っているかもしれません。チャンネルを開く方法は次のとおりです。

これは問題なく動作し、メッセージを投稿すると、メッセージは他のクライアントにすぐに届きます。しかし、約 15 分間ページに留まると、サーバーは私のチャンネルを追跡できなくなります。開発環境では、エラーがスローされます (これは既知のバグでした: http://www.mail-archive.com/google-appengine@googlegroups.com/msg44609.html )。しかし、prod では、約 15 分後にそのチャネルのメッセージを無視します。

ページにを追加して修正しましたsetInterval(getSomeUrl, everyMinute)が、そうする必要はありません。Moishe のトリビア ゲーム サンプルの最後のコミットで、彼がキープアライブを実行していることに気付きました。彼がどのようにそれを置き換えたのか理解できませんでした.onopenの意味は信頼できます:

http://code.google.com/p/trivia-quiz/source/browse/trunk/src/index.html

更新:サーバー側のコードは

BaseHandlerは、私がすべての GAE ハンドラーに使用する単なる基本クラスでcheckUserあり、ユーザーがログインしていない場合にリダイレクトするものを提供し、内容を取得してテンプレートに書き込むwriteTemplateものを提供します。self.modelこれは単なる概念実証であるため、キャッシュや上記以外のものはありません。

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

google-cloud-datastore - チャネルの GAE ダッシュボードのエラー

JS クライアントからチャネル API を使用して GAE サーバーに接続しています。チャネル クライアントがトークンを正常に取得し、サーバーからメッセージを取得できるにもかかわらず、GAE ダッシュボードで以下のエラー メッセージが引き続き表示されます。何が欠けているのか、心配する必要があるのか​​ どうかわかりません。


URI - /_ah/channel/disconnected/

カウント - 955

% エラー - 100%


URI - /_ah/channel/connected/

カウント - 943

% エラー - 100%


これらのエラーが発生する理由と修正方法を教えてください。

ありがとう!