SignalR続き

結局、以下のようにしてなんとか完成

・クライアントとサーバー間のHubコネクションは1つ
 コネクションが最大4つ?らしいので。

・すべての通信を非同期にする
 同期通信方式だと大量の待ちがサーバーとクライアント間で
 発生してしまうようだ。まぁProxyなんて激しい接続を繰り返すアプリ特有
 の問題な気がするが。
 そのため、プログラムの開始時にサーバからのコールバックの種別分、
IHubProxy.On を作っておく。その中からは.NETのeventを発生させるよう
 にする。イベントのEventArgsには各接続のIDが含まれており、
クライアント側ではイベント受信時、そのIDが自分向けのイベントか
 どうかをチェックし、自分向けなら適切に処理を行う。

大雑把な流れ

1. (C)サーバAPI呼び出し
HubProxy.Invoke("Receive",myID);
2. (S)クライアントのコールバックNotifyRecieved呼び出し 
   Clients.Caller.NotifyRecieved(myID);
3. (C)NotifyRecieved内で、.NETのstatic Recieved イベントを発生させる
4. (C)Recievedイベントを受け取ったら、
   EventArgs eに含めたIDが自分用IDかチェック
5. (C)自分向けのイベントならその後の処理をする