我有一个项目,可能需要抽象出客户端和服务器之间的通信。一开始我使用套接字和TCP协议,后来想切换到进程间通信管道。我看了看System.IO.PipedStream类,发现PipeStream和Socket类有很多重叠之处。但是当我查看Socket类时,它继承自Object,因此Socket和PipeStreams之间没有公共接口或抽象类。
我想起了NetworkStream的一些东西。它显然包装了Socket类。但至少NetworkStream和PipeStream都继承自Stream,这意味着我可以交换我的实现。我想是这样,但我还没有尝试过。一直以来我一直在使用套接字。
我的问题是:使用NetworkStream类是否有任何不利之处?有什么需要注意的地方吗?
我想起了NetworkStream的一些东西。它显然包装了Socket类。但至少NetworkStream和PipeStream都继承自Stream,这意味着我可以交换我的实现。我想是这样,但我还没有尝试过。一直以来我一直在使用套接字。
我的问题是:使用NetworkStream类是否有任何不利之处?有什么需要注意的地方吗?