リモートとソケットの間の差分、長所と短所は何ですか...サーバクライアント機能のための最良の方法です....remoting vsソケット
答えて
ソケットは2つのエンドポイント間の生のバイナリストリームです。メッセージを処理するために独自のRPC(etc)レイヤーをラップし、多くのインフラストラクチャコードを処理する必要があります。しかし、それらは金属に非常に近いので、これは非常に、非常に効率的であり得る。両方のエンドが同じメッセージフォーマットを話す限り、特定のアーキテクチャーに結びついていません。 protobuf-netのようなツールは、独自のシリアライゼーションコードを動かすのではなく、ストリームのバイナリメッセージを構築するのに役立ちます。
Remotingは.NET固有のツールであり、非常に脆弱なバージョン管理です。代わりに、WCFのようなクライアント/サーバー用のものをリモーティングすることはお勧めしません。
WCFは、より柔軟性の高い通信スタックです。多くの電力と複雑さがありますが、間違いなく膨らんでいます(xml、複雑なセキュリティなど)。それはデータコントラクトベースなので、おおよそ(クライアント/サーバは異なる可能性があります)ですが、まだ.NETに焦点を当てています。詳細については
編集、protobuf-netがあまりにもRPCスタックを提供します。現時点ではHTTP実装のみが提供されていますが、ある時点では未処理のTCP/IPを追加します。
Marc Gravellが書いているのは、リモーティングと内部シリアル化が「簡単」ですが、非常に簡単ですが、パブリックネットワークにはうまく適合しません(ネットリモーティングはあまりよくありませんがクリーンなラボ環境から外出するときによく問題となるよく知られたレジストリサービスが必要だと思います)。
標準的なRPCを実装することは難しくなりますが、長期的にはより安全です。コードリビジョンに問題がない(または制御しやすくなります)スケーリングは独自のコードで完全に制御され、さまざまな技術を使用したコンポーネントの開発が容易です。
ソケットを介してRPCメカニズムを簡単に構築するのに役立つ多くのツールがありますが、普通のHTTPを使用するのが本当に好きです。サーバープロセス内で実行される単純なHTTP組み込みサーバーを取得し、クライアントにはHTTPメッセージを送信するクライアント。
私は、ソケットとリモーティングを選択することで、あなたのRESTfulなコールセマンティクスを(SOAPやXML-RPCのような膨大なメッセージフォーマットを使用する代わりに)開発する場合、実際にはほとんど何もしません。どのタイプのアプリケーションを開発しているかをよく検討してください。ソケットは、独自のプロトコル実装、低レベルプログラミング、そして他のtcp/ipアプリケーションと通信する必要がある場合には唯一の方法です。 Remotingは、tcp/ipスタックに落ちる必要がなく、アプリケーションが他のアプリケーション(おそらくレガシーアプリケーション)と通信する必要がない、新しい.NET通信アプリケーションを開発するための好ましい方法です。 .NETでしか動かない場合は、.net 2.0の代わりに.NET 3.5とWCFフレームワークを選択する方がいいです。最後の1つは死んでサポートされていないテクノロジです。
- 1. C#:インスタントメッセンジャー - ネットワーク(.NET Remoting/WCF /ソケット)?
- 2. Flex RemotingまたはFlash Remoting
- 3. 概念:WCFサービスVSを使用します。ソケットVS.?
- 4. Windows Communication Foundation vsソケット、クライアントアプリケーションのサイズとメタデータ
- 5. Remoting(サーバー側)
- 6. Flex + Blazeds + remoting
- 7. .Net Remoting対WCF
- 8. iPhone Grails remotingオプション
- 9. RemotingとOSGi
- 10. .Net Remoting Calling Context
- 11. .Net Remoting対WCF
- 12. .NET RemotingとDelphi win32
- 13. .NET Remotingサーバー側ハング
- 14. .NET RemotingのHTTPポート
- 15. Powershell Remoting C#invoke-expression
- 16. .net remoting dependency/reference issue
- 17. Grails remotingプラグインRMI MissingMethodException
- 18. Hessian remoting-servlet.xmlのテスト
- 19. .NET Remoting - クライアントの複数チャネルレジスタ
- 20. Spring Dot Net Remotingの利点
- 21. Spring Remotingのシリアル化とデシリアライゼーション
- 22. Flex AMFPHP vs WebORB vs XMl
- 23. .net Remotingを使用できません。
- 24. Powershell 2.0 Remoting .Net 4.0 dllをロードする
- 25. remoting - クライアントに関する情報。 c#
- 26. Windows 10アプリケーションをpowershell remotingでインストールする
- 27. Msmqと.Net Remotingの相違点
- 28. PHPソケット/ TCPソケット
- 29. Quartz.NET vs JAMS vs?
「ベスト」は...要件に依存します; -p –
+1 for WCF。そして、もしあなたが非であるならば。ネットクライアントはWCFを使用してSOAPまたはREST Webサービスを公開します。純粋なリモーティングのケースは急速に消えています。 –