BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Silverlight 4のハイパーコミュニケーション

Silverlight 4のハイパーコミュニケーション

原文(投稿日:2009/11/24)へのリンク

双方向通信を改善するため、.NET Framework 3.0からWCFの一部として新しい通信プロトコルである、Net.TCPが提供されている。このNet.TCPが来るSilverlight 4でも利用できるようになる。これによって、従来のHTTP Polling Duplexに比べてスループットが向上し、コネクションの数も数倍増える。

Silverlight 3ではHTTPによる双方向サービスのバインディングが利用できるようになった。これを利用すればサービスを定期的にポーリングすることで双方通信を仮想的に実現できる。Silverlight 4ではより良いソリューションを提供する。それは、Net.TCPポート共有サービスだ。HTTPとは違って、Net.TCPはパフォーマンスに優れたネイティブな双方向通信を実現するので、アプリケーションの挙動をより速くすることができる。また、ポートを複数のアプリケーションで共有することも可能だ。ただし、Silverlightが利用できるポートは4502-4534の範囲に限定されている。

WCFの開発マネージャであるMicrosoftのTomasz Janczuk氏によれば、 HTTPを使った双方向通信と比べて、Net.TCPはとても改善されている、とのことだ。具体的には次のような点が挙げられる。

  • スループット – UIスレッドの5.5倍、ワーカースレッドの870倍高い
  • クライアントの最大数– サーバは5から6倍のクライアント接続数をサポートする

このプロトコルは通信スピードが重要になるようなアプリケーションで利用するのが適しているだろう。大きな欠点のひとつとしては、利用するポートが通常はファイアウォールでブロックされているということだ。なので、公開されている外部向けのアプリケーションよりも、イントラネットのアプリケーションの方が利用しやすい。またSSLがサポートされていないのでセキュアではないのも問題だ。Janczuk氏が言うには、この問題は将来解決されるようだ。

関連リソース: WCFのためのSOAP/TCPトランスポート(英語)

この記事に星をつける

おすすめ度
スタイル

BT