A、B两人通过QQ聊天,如果他们都在线,那么聊天的消息需要经过服务器吗?
1个回答
展开全部
所谓的服务器端程序,客户端程序也是相对应的概念,有时在一个程序中既有服务端又有客户端功能. QQ聊天程序分成了两个程序,一个安装在腾讯公司的服务器上
,我们称之为服务端程序,一个安装在QQ用户的计算机上,我们称之为客户端程序. 在许多介绍网络通讯编程的书籍中有关网络聊天的例子,当一个客户要和第二个客户发送数据
时,先把数据发送给服务器,然后服务器再把聊天数据发送给第二个客户,服务器好像是一个中转站,这在客户数量比较少时,服务器还能承受,在客户数量较多时,服务器端
肯定要瘫痪.何况客户之间还要传送文件,语音聊天,视频聊天等等,为了减少服务器端的压力,各客户端之间需要直接通信.
1.在服务端和客户端之间(一对多)
用于客户端程序登陆,验证用户名密码,获取其他在线好友信息等等.
2.在客户端和客户端之间(多对多)
用于好友间直接通信聊天,此时每个客户端程序上既有实现服务端功能的部分,又有实现客户端功能的部分,前者用于接受聊天数据,后者用于发送聊天数据.
在用C/S模式进行通信时,作为客户端在请求与服务器端连接时需要知道服务端的IP地址,腾讯公司的服务器具有固定的公网地址,这没有问题. 但是在客户端和
客户端之间通讯时,每个用户的IP地址都是ISP所给的临时地址. 无法固定,那么用户要与另外一个用户连接时,怎么知道对方的IP地址呢?当一个用户连接到Internet后,
获得临时的公网地址,当登陆到QQ时,QQ服务器端会获得该上线用户的IP地址,然后告知其他要与该上线用户聊天的用户,其他用户就可以连接到该用户与之直接通信了.
,我们称之为服务端程序,一个安装在QQ用户的计算机上,我们称之为客户端程序. 在许多介绍网络通讯编程的书籍中有关网络聊天的例子,当一个客户要和第二个客户发送数据
时,先把数据发送给服务器,然后服务器再把聊天数据发送给第二个客户,服务器好像是一个中转站,这在客户数量比较少时,服务器还能承受,在客户数量较多时,服务器端
肯定要瘫痪.何况客户之间还要传送文件,语音聊天,视频聊天等等,为了减少服务器端的压力,各客户端之间需要直接通信.
1.在服务端和客户端之间(一对多)
用于客户端程序登陆,验证用户名密码,获取其他在线好友信息等等.
2.在客户端和客户端之间(多对多)
用于好友间直接通信聊天,此时每个客户端程序上既有实现服务端功能的部分,又有实现客户端功能的部分,前者用于接受聊天数据,后者用于发送聊天数据.
在用C/S模式进行通信时,作为客户端在请求与服务器端连接时需要知道服务端的IP地址,腾讯公司的服务器具有固定的公网地址,这没有问题. 但是在客户端和
客户端之间通讯时,每个用户的IP地址都是ISP所给的临时地址. 无法固定,那么用户要与另外一个用户连接时,怎么知道对方的IP地址呢?当一个用户连接到Internet后,
获得临时的公网地址,当登陆到QQ时,QQ服务器端会获得该上线用户的IP地址,然后告知其他要与该上线用户聊天的用户,其他用户就可以连接到该用户与之直接通信了.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询