创建socket:

创建一个 Socket,它可用于在基于 TCP/IP 的网络(如 Internet)上通信。

Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

若要使用 UDP 而不是 TCP。

Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

相关类:

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

Dns 类向使用 TCP/IP Internet 服务的应用程序提供域名服务。Resolve 方法查询 DNS 服务器以将用户友好的域名(如“host.contoso.com”)映射到数字形式的 Internet 地址(如 192.168.1.1)。Resolve 返回一个 IPHostEnty,该实例包含所请求名称的地址和别名的列表。大多数情况下,可以使用 AddressList 数组中返回的第一个地址。下面的代码获取一个 IPAddress,该实例包含服务器 host.contoso.com 的 IP 地址。

IPHostEntry ipHostInfo = Dns.Resolve("host.contoso.com");

IPAddress ipAddress = ipHostInfo.AddressList[0];

IPEndPoint ipe = new IPEndPoint(ipAddress,11000);

Socket的方法:

接收数据​:Receive或者BeginReceive/EndReceive

发送数据​:Send或者BeginSend/EndSend

监听​:使用 Bind 方法将 Socket 与该终结点关联,并使用 Listen 方法

      listenersocket.Bind(localEndPoint);

      listenersocket.Listen(100);//100表示最多可以在连接队列中放置 100 个客户端

      使用Accept方法获得已经连上的连接(socket)。同样有BeginAccept和EndAccept.