服务器,客户端和数据库是怎么样联合工作的

来源:百度知道 编辑:UC知道 时间:2024/06/14 06:18:45
如题,三者的关系是什么。比如QQ,QQ从登录到发送消息,整个过程是怎么样的。QQ登录到服务器是什么概念,是QQ和数据库连上了吗?QQ上线之后一直和数据库连接着吗?QQ哪些情况下要连接数据库。QQ和服务器交换数据是和数据库交换数据吗?同个时刻能有很多人一起访问数据库吗?搞不清楚这些东西,网上查三者的关系也找不到。请懂行的人指点一下。

楼主是想了解客户端是怎么工作的吧```?

你去看看socket的工作原理吧`

大概是这样的

服务器方:

socket()-> bind()-> listen-> accept()-> recv()/send()-> closesocket()

客户机方:

socket()-> connect()-> send()/recv()-> closesocket()

解释--客户端首先发送一个包含用户名和客户端版本,语言等信息的包给服务器端,然后服务器端验证版本是否符合,用户名是否存在,然后将用户名和密码通过一个算法转换成一串16进制数据,发给客户端当验证码。客户端这时会使用这个验证码,跟客户输入的用户名和密码通过运算得到另外一个验证数据,再连同随机 生成的通讯密码一同发给服务器,服务器端再通过通讯密码,和第一次发送的验证码再通过一番计算,如果跟这次客户端发出来的验证数据一致,则通过验证,然后把验证码记录下来,供服务器验证客户端是否经过账号验证使用。

至于数据库,主要是在服务器那里存储数据,验证数据.

qq,应该是C/S结构的网络应用程序。

C:Client客户端,即我们在自己机器上安装的qq软件。

S:Serve服务器端,运行于腾讯公司的服务器上。

客户端不会直接访问数据库的,那样的话对于网络应用安全系数太低。访问数据库是由服务器端完成的。

登录的流程应该是:

1.用户在客户端输入号码和密码,点击登录。

2.客户端向服务器发送登录请求。

3.服务器端响应客户端的请求,并验证相关信息(有可能连接数据库)。

4.将验证的结果返回给客户端。