第一部分、概念的理解1、什么是Socket
Socket又称之为“套接字”,是系统提供的用于网络通信的方法
它的实质并不是一种协议,没有规定计算机应当怎么样传递消息,只是给程序员提供了一个发送消息的接口,程序员使用这个接口提供的方法,发送与接收消息
Socket描述了一个IP、端口对
它简化了程序员的操作,知道对方的IP以及PORT就可以给对方发送消息,再由服务器端来处理发送的这些消息
所以, Socket一定包含了通信的双发,即客户端(Client)与服务端(server)
2、Socket的通信过程
每一个应用或者说服务,都有一个端口
比如DNS的53端口,http的80端口
我们能由DNS请求到查询信息,是因为 DNS服务器时时刻刻都在监听 53端口,当收到我们的查询请求以后,就能够返回我们想要的IP信息
所以,从程序设计上来讲,应该包含以下步骤:1)服务端利用 Socket监听端口;2)客户端发起连接;3)服务端返回信息,建立连接,开始通信;4)客户端,服务端断开连接
3、Socket双方如何建立起连接
以下过程用代码表示:Server端:1 intport = 2000; 2 IPEndPointServerEP = new IPEndPoint(IPAddress
Any,port); 3 Socketserver = new Socket(AddressFamily
InterNetwork, SocketType
Stream,ProtocolType
Tcp); 4 server
Bind(ServerEP); 5 server
Listen(0); Client端:1 intport = 2000; 2 IPAddressserverip = IPAddress
Parse("192
100"); 3 IPEndPointEP = new I