C# NetworkStream Write/Read vs Socket Send/Receive?

C# NetworkStream Write/Read vs Socket Send/Receive?

哪个比另一个更快?我正在构建一个服务器-客户端应用程序,但我不确定哪个更快。我可以顺利地发送和接收数据,但我想要更快的通信。

NetworkStream 在内部使用套接字进行操作。你可以通过在Microsoft documentation.

中查看它的构造函数来理解
public NetworkStream (System.Net.Sockets.Socket socket);

它为您提供了可用于轻松 Read/Write 直播的方法。

另一方面,Socket class 让您可以更好地控制要在网络中交换的数据类型。如果您打算通过网络中的 TCP 协议交换数据,您可能会发现使用 SocketNetworkStream.

传输速度没有差异

如果您需要以更快的速度交换数据,请考虑使用 Socket class 使用 UDP 协议,但请记住,UDP 协议不像 TCP 那样面向连接并且没有错误检查发生。因此,您无法确定数据的可靠性和数据的传送保证。