問題タブ [signalr-hub]
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.
backbone.js - なぜ collection.reset は collection.add のように機能するのですか?
Backbone コレクションのビューがあります。backbone.signalR ハブを介してコレクションをリセットすると、ハブを通過する新しいコレクションを取得することが期待されますが、コレクションをリセットするだけで、collection.add
渡されたものを呼び出すように機能します。したがって、コレクション内のモデルの 12 個の属性を、最初の 6 個の null 値と最後の 6 個の現在の値で取得します。
私のコレクションには、6 つの属性を持つモデルが含まれています。新しい 6 つの値でそれらの値をリセットしたい。しかし、私は通り抜けることができませんcollection.reset()
。
コレクションをリセットする前に、次の 6 つの属性を含むオブジェクトがあります。
コレクションをリセットした後、次の 12 の属性を含むオブジェクトを取得します。
そのため、何が問題なのか、どうすればこの問題から抜け出すことができるのかわかりません。コレクションのリセット後に更新された値で6つの属性値を取得したいだけです。
redis - Windows で Redis を使用している場合、SignalR ノード間の通信がありません - 解決方法は?
SignalR と Redis を使用して、フェールオーバー環境を備えたスケールアウトをセットアップします。最初のステップは、Redis が SignalR ノード間の通信を処理していることを確認することです (現在の問題)。これに続いて、Redis Sentinel と BookSleeve を接続して、SignalR ノードが単一の Redis エンドポイントにアクセスできるようにします。
@mirajavora は、彼の記事Scaling SignalR with Redisで、単一インスタンスの Redis 環境をセットアップする方法を説明しています。
テストのために (これは最終的には *nix ボックスに常駐しますが)、Windows に Redis をセットアップしました。サーバーが起動し、Redis メッセージ バスを使用するように SignalR アプリケーションを構成しました。
Redis を実行せずにアプリを実行することで、SignalR アプリケーションが Redis を使用していることを確認しました。次のような予想されるエラーが表示されます。
ターゲット マシンがアクティブに拒否したため、接続できませんでした 127.0.0.1:6379
次に、Redis を起動し、SignalR アプリ プールをリサイクルします。
次の URL を使用して、SignalR アプリが Redis と通信していることを確認しました。
newsfeedlocal1:8082/signalr?transport=longPolling&connectionId=7285d6e5-412c-4bca-9897-5f9ab1ebcece&connectionData=%5B%7B%22name%22%3A%22newsfeedhub%22%7D%5D&messageId=B%2C0%7CF%2C2%7CG%2C0 %7CH%2C0&tid=5&callback=jQuery17204961678246036172_1357588747275&_=1357588762433
Redis の状態:
これまでのところとても良いです... アプリケーションは期待どおりに動作します。
Mira の記事の終わり近くで、Global.asax に次の行がありますが、これは他のドキュメントにはありません。
RouteTable.Routes.MapConnection("エコー", "エコー/{*操作}");
SignalR プロジェクトに DistributedConnection オブジェクトがなく、これを除外しました ( GitHub のドキュメントに表示されていないためです。この行についてさらに説明はありますか?
Mira の記事では、ローカルでテストするワーカー プロセスの最大数を増やすことを提案しています。これを 1 以外の数値に設定すると、ノード間の通信が切断されます。クライアント 1 は、接続されたクライアント 2 に通知するアクションを実行します。ウィンドウ 1 は、ウィンドウ 2 でクライアント 2 に通知を送信します。
複数のワーカー プロセスが表示されますが、どういうわけか、これは良いテスト シナリオではないと思います。Fiddler を開いていますが、この問題をさらにデバッグするために何を探すべきかわかりません。また、このようなテストは実際に複数の SignalR ノードを適切にシミュレートしますか?
現在、ロードバランサーなしでこれをテストしています。推奨されるソフトウェア ロード バランサーはありますか?
javascript - SignalR: クライアント メソッドがない場合、Hub OnConnected は呼び出されません
SignalR でゲームを書いています。アイデアは、「ディスプレイ」として使用されるラップトップに接続し、次にスマートフォンに接続して「ジョイスティック」として使用するというものです。セットアップ全体が非常にうまく機能します。
すべてが機能するようになったので、コードをリファクタリングすることにしました。ジョイスティックとディスプレイの関係は一方通行であることに気付きました (ディスプレイはジョイスティックに情報を送り返す必要はありません)。したがって、ジョイスティックで signalR 呼び出し可能なクライアント関数は必要ないと判断しました (たとえばgameHub.client.joyStickMethod()
、ジョイスティック js.
その時、私は奇妙なことを発見しました
public override Task OnConnected()
さまざまなタイプのクライアント (ディスプレイとジョイスティック) を処理するためにオーバーライドしたハブ メソッドは、 myHub.client.clientSideMethod()
. これが私が扱っている例です:
空のクライアント側メソッドがわかりますか? OnConnected
これが、サーバー側で呼び出される理由です。そのコード行を削除すると、呼び出されなくなります。
ハブにはクライアント側のメソッドがないため、これは機能しません。おそらくRegistrateJoystick
ハブにメソッドを追加して呼び出すこともできますが、動作は予期しないものだと思います。したがって、私の質問は次のとおりです。
OnConnect
メソッドが呼び出されるように、手動でハブに「接続」する方法はありますか?
.net - signalRの再接続はいつ発生しますか?
私はSignalRの使用を開始し、ハブの再接続がいつ発生するかを把握しようとしていました。ウェブ上で満足のいく説明は見つかりませんでした。再接続が発生するタイミング/理由を誰かが説明できますか?
c# - SignalRのグループのパフォーマンスの問題?
SignalRに多数のグループがあると、パフォーマンスにどの程度の影響がありますか?たとえば、投稿があり、SignalRハブを介して更新する必要がある投稿にコメントするソーシャルネットワークを考えてみましょう。これらの投稿ごとにグループを作成してから、そのグループにコメントの更新を送信し、すべてのクライアントにコメントの更新を送信してから、クライアント側のコードに更新するかどうかを決定させる方がよいでしょうか。私が行方不明になっている別の方法はありますか?ありがとう!
c# - SignalR のイベントのシーケンスは保証されていますか?
次のような単純な SignalR アプリがあるとします。
クライアント:
サーバー ハブ:
出力は次のようになります。
どの部分が非同期マジックで動作していて、どの部分が動作していないかについて完全には確信が持てないので、この順序が保証されているかどうかを知りたいですか?
サーバー側の呼び出しの戻り値は、その呼び出しがトリガーする可能性のあるサーバー側のプッシュ メッセージの前に到着することが保証されていますか?
signalr - Signal R で FormAuthentication を実装するにはどうすればよいですか
mvc 3 アプリケーションで Signal R を使用しています。クライアントから接続しようとすると失敗します。
signalr - SignalR-rc2IConnectionIdPrefixGeneratorはサポートされなくなりました
signalr-rc2の時点では、IConnectionIdPrefixGeneratorはサポートされていませんか?サポートされている場合、後で公開する予定はありますか?
c# - Hub OnConnected / OnDisconnected にセッションがないのはなぜですか?
OnConnected
/をオーバーライドしてから、 is nullOnDisconnected
のセッションを探すと。HttpContext.Current.Session
この時点で、セッションはすでに作成されていると想定していました。私は何かが恋しいですか?
iis-7.5 - SignalR 0.5.3 および IIS 7.5
私は、通信にシグナルを使用するいくつかの顧客にアプリケーションをすでに展開しています。マッピング構成の IIS 6.0 を搭載した Windows 2003 サーバーで動作し、win 7 および iis express でも動作します。ただし、IIS 7.5 を使用する Windows 2008 R2 の場合、ハブ ファイルは提供されますが、サーバー メソッドのリストを含む signalr.hub はスクリプトに含まれていないため、クライアントはハブに接続できません。
助けていただければ幸いです!!!