【微软技术栈】C#.NET 使用 TcpClient 和 TcpListener

本文内容

  1. 使用 TcpClient 和 TcpListener
  2. 创建 IP 终结点
  3. 创建 TcpClient
  4. 创建 TcpListener
  5. 具有 Socket 类的有限 TCP 控制

对于高级用户,强烈建议使用 Socket 类,而不是 TcpClient 和 TcpListener

若要使用传输控制协议 (TCP),有两个选项:使用 Socket 以获得最大控制和性能,或使用 TcpClient 和 TcpListener 帮助程序类。 TcpClient 和 TcpListener 是在 System.Net.Sockets.Socket 类的基础上建立的,并负责传输数据的详细信息以便于使用。

协议类使用基础 Socket 类提供简单的网络服务访问,没有维护状态信息的开销,也无需了解设置协议特定的套接字的详细信息。 若要使用异步 Socket 方法,可以使用 NetworkStream 类提供的异步法。 若要访问未被协议类公开的 Socket 类功能,必须使用 Socket 类。

TcpClient 和 TcpListener 代表使用 NetworkStream 类的网络。 使用 GetStream 方法返回网络流,然后调用此流的 NetworkStream.ReadAsync 和 NetworkStream.WriteAsync 方法。 NetworkStream 不拥有协议类的基础套接字,因此关闭它不会影响套接字。

1、使用 TcpClient 和 TcpListener

TcpClient 类使用 TCP 从 Internet 资源请求数据。 TcpClient 的方法和属性会摘录为了通过 TCP 请求和接收数据而创建的 Socket 的详细信息。 与远程设备的连接表示为流,因此可以使用 .NET Framework 流处理技术读取和写入数据。

TCP 协议与远程终结点建立连接,然后使用此连接发送和接收数据包。 TCP 负责确保将数据包发送到终结点,并在数据包到达时以正确的顺序对其进行汇编。

2、创建 IP 终结点

使用 System.Net.Sockets 时,将网络终结点表示为对象 IPEndPoint。 IPEndPoint 是使用 IPAddress 及其相应的端口号构造的。 在通过 Socket 发起对话之前,在应用和远程目标之间创建数据管道。

TCP/IP 使用一个网络地址和一个服务端口号来对唯一标识设备。 网络地址标识特定网络目标;端口号标识该设备要连接到的特定服务。 网络地址和服务端口的组合称为终结点,它在 .NET 中由 EndPoint 类表示。 会为每个受支持的地址系列定义 EndPoint 的后代;对于 IP 地址系列,类为 IPEndPoint。

Dns 类向使用 TCP/IP Internet 服务的应用提供域名服务。 

你可能感兴趣的:(C#.NET,专栏,c#,.net)