私は、クライアントとサーバーの間の通信を抽象化したいプロジェクトがあります。私は当初ソケットとTCPを使用していました。私は、プロセス間通信チャネルに切り替えることができればいいと思っていました。私はSystem.IO.PipedStreamクラスを調べ、PipeStreamクラスとSocketクラスの間に重複が多くあることを確認しました。しかし、Socketクラスを見たとき、Objectから継承しています。したがって、SocketクラスとPipeStreamクラスの間には、共通のインタフェースや抽象クラスはありません。NetworkStreamクラスとSocketクラスの違いは何ですか?
私はNetworkStreamについて何か思い出しました。それは明らかにSocketクラスをラップします。しかし、少なくともNetworkStreamとPipeStreamの両方はStreamから継承します。つまり、実装を取り替えることができます。私はまだこれを試していないと思う。私は今回すべてソケットを使用しています。
私の質問です:Socketクラス以上のNetworkStreamクラスを使用することに不利な点はありますか。どんな厄介なことや何か気にするものはありますか?
高レベルの通信では、生のTCPまたはパイプよりもWFCを使用する方が良い –
WCFはオプションではありません。 – uriDium
「それはいいかもしれない...」とまったく同じ意味ですか? TCP/IPソケットはプロセス間通信の完全に有効な形式です。 –