2

Windows 8 ストア アプリに少し問題があります。私の質問は簡単です:

1 台の PC に Windows 8 ストア アプリがあり、別の PC に同じアプリがあります。PC は同じネットワークにありませんが、インターネットがあります。PC A から PC B にメッセージ (文字列/バイト) を送信したい。

どうやってやるの?

編集:

OK、StremSocket 接続が機能します。PC A から PC B にデータを正常に送信しました。簡単なデモを作成してデモを行います。ここでトリッキーな部分、つまり発見が始まります。

私のアイデアは単純です: 形式 (ip,port, timeout ) のピアを持つデータベースを保持する Azure サービスを作成します。いくつかのルールがあります。

  1. 「サーバー」を作成すると、アプリはその存在を1秒ごとにサービスに通知します。
  2. サービスがアプリから形式 (ip、ポート) でデータを受信すると、このエントリがデータベースに存在するかどうかを確認します。
    2.1 はいの場合 - エントリのタイムアウトを 0 にリセットします
    2.2 そうでない場合 - データベースにサーバーを挿入します初期タイムアウト 0
  3. サービスは毎秒、次のルールに従ってデータベースを更新します。
    3.1 すべてのエントリのタイムアウトを 1 ずつ増やします。
    3.2 エントリのタイムアウトが 5 より大きい場合 (5 秒間再接続されていない場合) - 削除します。

よりスマートなソリューションがあると確信していますが、これはほとんど作業のように思えず、私のニーズには合っているはずです。皆さんはどう思いますか?

4

1 に答える 1

2

StreamSocketはあなたが望むものだと思います。これにより、2 つのクライアント間の接続と双方向の通信が可能になります。それらがお互いを見つけられるようにしたい場合は、おそらく、利用可能なクライアント接続をリストするサーバーでホストされるサービスを提供する必要があります。

于 2013-01-27T17:04:42.047 に答える