创建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.