客户端与服务器程序通信

在介绍客户端和服务器通信方式之前,首先要介绍一下网络通信的模型。先了解通信模型,然后再了解通信方式。

一、通信模型

       目前主流的网络通信模型有以下两种:

1、客户/服务器结构(Client/Server,缩写为C/S,胖客户):典型的C/S结构网络系统需要相应的客户端才能实现通信。目前大多数APP都是这种模式,如QQ、微博等。

2、浏览器/服务器结构(Browser/Server,缩写为B/S,瘦客户):典型的B/S结构网络系统只要通过浏览器即可访问,不需要在客户端机安装特定的软件。

二、通信方式

1、TCP通信

     这种通信方式是实现C/S模式应用程序的主要方式。TCP是可靠的连接通信技术,主要使用套接字(Socket)。Socket是TCP/IP协议中的传输层接口。TCP通信是使用TCP/IP协议、建立在稳定连接基础上的、以流传输数据的通信方式。

TCP(Transfer Control Protocol)协议是一种面向连接的、提供可靠传输的协议。它可以确保接收方完全正确地接收到发送方所发送的全部数据。

发送方和接收方之间的两个端口必须建立连接,以便在TCP协议的基础上进行通信。在程序中,端口之间建立连接一般使用Socket(套接字)方法。

当服务器的Socket等待服务器请求(即等待建立连接)时,客户机的Socket可以要求进行连接,一旦这两个Socket连接成功,它们就可以进行双向数据传输。TCP协议为实现可靠的数据传输提供了一个点对点的通道。

       它的特点有:

       (1)面向连接的

       (2)提供可靠的数据传输

       (3)点对点的

2、HTTP协议通信

       这种通信方式实现B/S模式应用程序的主要方式。HTTP协议简称超文本传输协议,它是应用层协议,主要解决如何包装数据,它建立在TCP/IP协议之上的一种应用,它是一种通用的、无状态的、面向对象的协议。

       HTTP协议的作用原理包括四个步骤:

       (1)连接:Web浏览器与Web服务器建立连接。

       (2)请求:Web浏览器通过socket向Web服务器提交请求。HTTP的请求一般是GET或POST命令(POST用于FORM参数的传递)。

       (3)应答:Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到后,进行事务处理,处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出所请求的页面。

       (4)关闭连接:当应答结束后,Web浏览器与Web服务器必须断开,以保证其它Web浏览器能够与Web服务器建立连接。

三、通信交互过程的原理

       客户机端程序在需要服务时向服务器提出服务申请,服务器端程序则等待客户提出服务器请求,并予以相应。服务器端程序始终运行,并且监听网络端口,一旦有客户发出请求,就会启动一个服务进程来响应客户机端的请求,同时继续监听网络端口,时刻为其他客户请求提供服务。

四、总结

       客户端和服务器通信方式的主流方式有两种:第一种是基于TCP协议的套接字通信方式;第二种是基于HTTP协议的“客户端请求-服务器响应”方式。

       第一种通信方式适用于实时通讯类的程序,如QQ这种要实时反馈信息的程序。使用TCP编程技术可保证双方的数据传输不丢失。

       第二种通信方式适用于一些无需保持实时通讯的程序,这种通信方式的特点是只有客户端向服务器发出请求,服务器收到请求才会响应客户端。

参照文献:

1、金松河,王捷,黄永丽. Java程序设计经典课堂:清华大学出版社,2014年8月:324-325

2、博客地址:http://blog.csdn.net/conganguo/article/details/41789767

猜你喜欢

转载自blog.csdn.net/qq_33721382/article/details/74941222