C# Socket.Send和Stream.Write之间有什么区别?(与tcp ip连接相关)
在处理服务器/客户机连接时,我已经看到这两种连接都得到了有效的使用,并且都没有任何明显的优势,但我怀疑如果其中一种连接没有任何已知的优势,它们是否都会存在。有人知道这两者之间有什么明显的区别吗?非常感谢您的帮助。C# Socket.Send和Stream.Write之间有什么区别?(与tcp ip连接相关),c#,sockets,stream,send,C#,Sockets,Stream,Send,在处理服务器/客户机连接时,我已经看到这两种连接都得到了有效的使用,并且都没有任何明显的优势,但我怀疑如果其中一种连接没有任何已知的优势,它们是否都会存在。有人知道这两者之间有什么明显的区别吗?非常感谢您的帮助。Socket.Send是直接通过WINSOCK层进行的原始数据发送流在发送数据时缓冲和处理数据。它通常用于需要流式功能的情况。显然,那里有一些额外的开销。与Send相比,此开销包括创建一个新类来管理“流”,并在您和Socket.Send之间引入两层间接寻址NetworkStream.Wr
Socket.Send
是直接通过WINSOCK层进行的原始数据发送<代码>流在发送数据时缓冲和处理数据。它通常用于需要流式功能的情况。显然,那里有一些额外的开销。与Send
相比,此开销包括创建一个新类来管理“流”,并在您和Socket.Send
之间引入两层间接寻址NetworkStream.Write
最终只需调用Socket.Send
;但这是一对夫妇的开销下来
通过使用NetworkStream
类型,还需要做更多的工作来设置流
当然,流也可以是双向的,这意味着您可以对其进行读写。您可以使用Receive
方法从套接字读取数据
使用
Send
或Receive
直接将您连接到套接字。如果您使用的是流
-派生,那么您就与套接字
分离,可以自由使用与流
一起工作的方法/类,您要提供一点关于您提到的“额外开销”的见解是否要求过高?