第一部分、概念的理解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.168.1.100"); 3 IPEndPointEP = new IPEndPoint(server,port); 4 Socketserver = new Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp); 5 server.Bind(EP); 当服务器端接收到来自客户端的连接以后,需要新建一个socket来处理远端的信息。下面一段代码应该在服务器端:1 Socketclient = server.Accept(); 以上很简单的几行代码,将在以后的网络编程中经常用到,后面还会有同步通讯、异步通讯、线程、委托与事件等等 第二部分、各协议的区别TCP/IP SOCKET HTTP 网络七层由下往上分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。其中物理层、数据链路层和网络层通常被称作媒体层,是网络工程师所研究的对象;传输层、会话层、表示层和应用层则被称作主机层,是用户所面向和关心的内容。 http协议 对应于应用层 tcp协议 对应于传输层 ip协议 对应于网络层 三者本质上没有可比性。 何况HTTP协议是基于TCP连接...