直接在Socket上使用TcpClient有什么好处?

时间:2012-03-04 06:38:27

标签: c# sockets tcpclient

我知道TcpClient是套接字类的包装器,如果使用TcpClient,我可以访问底层套接字,但是包装器究竟做了什么?

使用TCPClient时,我是否需要像使用套接字那样继续调用Receive(),还是包装器确保我的所有数据都出现?

最后,我可以在服务器和客户端上使用TcpClient来包装套接字(在使用TcpListener接受服务器上的原始连接之后)

1 个答案:

答案 0 :(得分:20)

  

包装器究竟做了什么?

让我用一个例子解释一下。你有一个C#File.ReadAllLines的方法。它会为您读取文件中的所有行。现在你也可以通过FileStream类或任何其他读取文件的类来实现相同的结果。但是...包装器即File.ReadAllLines,允许你用更少的代码行来实现相同的结果。 Wrappers总是通过抽象出低级细节来提高生产力

  

使用TCPClient时,我需要像我一样继续调用Receive()   使用套接字或包装器确保我的所有数据都出现?

TCPClient没有像Receive这样的Socket方法,但这个想法是一样的。您必须使用GetStream之类的方法来读取它不会自动为您显示的数据

  

我可以在服务器和客户端上使用TcpClient来包装   插座

是的,您可以在客户端和服务器端安全地使用它

相关问题