互联网即时聊天工具是如何实现的呢?

互联网即时聊天工具是如何实现的呢?,第1张

如下:
该软件采用P2P方式,各个客户端之间直接发消息进行会话聊天,服务器在其中只扮演协调者的角色(混合型P2P)。
1会话流程设计
当一个新用户通过自己的客户端登陆系统后,从服务器获取当前在线的用户信息列表,列表信息包括了系统中每个用户的地址。用户就可以开始独立工作,自主地向其他用户发送消息,而不经过服务器。每当有新用户加入或在线用户退出时,服务器都会及时发消息通知系统中的所有其他用户,以便它们实时地更新用户信息列表。
按照上述思路,设计系统会话流程如下:
(1)用户通过客户端进入系统,向服务器发出消息,请求登陆。
(2)服务器收到请求后,向客户端返回应答消息,表示同意接受该用户加入,并顺带将自己服务线程所在的监听端口号告诉用户。
(3)客户端按照服务器应答中给出的端口号与服务器建立稳定的连接。
(4)服务器通过该连接将当前在线用户的列表信息传给新加入的客户端。
(5)客户端获得了在线用户列表,就可以独立自主地与在线的其他用户通信了。
(6)当用户退出系统时要及时地通知服务器。
2用户管理
系统中,无论是服务器还是客户端都保存一份在线用户列表,客户端的用户表在一开始登陆时从服务器索取获得。在程序运行的过程中,服务器负责实时地将系统内用户的变动情况及时地通知在线的每个成员用户。
新用户登录时,服务器将用户表传给他,同时向系统内每个成员广播“login”消息,各成员收到后更新自己的用户表。
同样,在有用户退出系统时,服务器也会及时地将这一消息传给各个用户,当然这也就要求每个用户在自己想要退出之前,必须要先告诉服务器。
3协议设计
31客户端与服务器会话
(1)登陆过程。
客户端用匿名UDP向服务器发送消息:
login,username,localIPEndPoint
消息内容包括3个字段,各字段之间用“,”分隔:“login”表示请求登陆;“username”为用户名;“localIPEndPoint”是客户端本地地址。
服务器收到后以匿名UDP返回如下消息:
Accept,port
其中,“Accept”表示服务器接受了请求;“port”是服务所在端口,服务线程在这个端口上监听可能的客户连接,该连接使用同步的TCP。
连上服务器,获取用户列表:
客户端从上一会话的“port”字段的值服务所在端口,于是向端口发起TCP连接,向服务器索取在线的用户列表,服务器接受连接后将用户列别传输给客户端。
用户列表格式如下:
username1,IPEndPoint1;username2,IPEndPoint2;;end
username1,username2为用户名,IPEndPoint1,IPEndPoint2为它们对应的端点。每个用户的信息都有个“用户名+端点”组成,用户信息之间以“;”隔开,整个用户列表以“end”结尾。
31服务器协调管理用户
(1)新用户加入通知。
由于系统中已存在的每个用户都有一份当前用户表,因此当有新成员加入时,服务器无需重复给系统中的每个成员再传送用户表,只要将新加入成员的信息告诉系统内的其他用户,再由他们各自更新自己的用户表就行了。
服务器向系统内用户广播发送如下消息:
端点字段写为“remoteIPEndPoint”,表示是远程某个用户终端登陆了,本地客户线程据此更新用户列表。其实,在这个过程中,服务器只是将受到的“login”消息简单地转发而已。
(2)用户退出。
与新成员加入时一样,服务器将用户退出的消息直接进行广播转发:
logout,username,remoteIPEndPoint
其中,“remoteIPEndPoint”为退出系统的远程用户终端的端点地址。
31用户终端之间聊天
用户聊天时,他们各自的客户端之间是以P2P方式工作的,彼此地位对等,独立,不与服务器发生直接联系。
4系统实现
41服务线程
系统运行后,先有服务器启动服务线程,只需单击“启动”按钮即可。
即时聊天软件可以在两名或多名用户之间传递即时消息的网络软件,大部分的即时聊天软件都可以显示联络人名单,并能显示联络人是否在线。使用者发出的每一句话都回即时显示在双方的萤幕上。

1、网络结构不同:

服务器-客户机,即Client-Server(C/S)结构。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。对等网络是一种网络结构的思想,与客户端/服务器(Client/Server)结构的一个本质区别是,整个网络结构中不存在中心节点(或中心服务器)。

2、数据请求方式不同:

服务器-客户机方式中,客户机通过局域网与服务器相连,接受用户的请求,并通过网络向服务器提出请求,对数据库进行 *** 作。服务器接受客户机的请求,将数据提交给客户机,客户机将数据进行计算并将结果呈现给用户。

对等方式网络中的每一台计算机既能充当网络服务的请求者,又对其它计算机的请求做出响应,提供资源、服务和内容。

3、去中心化能力不同:

网络中的资源和服务分散在所有节点上,信息的传输和服务的实现都直接在节点之间进行,可以无需中间环节和服务器的介入,避免了可能的瓶颈。P2P的非中心化基本特点,带来了其在可扩展性、健壮性等方面的优势。

参考资料来源:百度百科-对等网络

参考资料来源:百度百科-客户服务器方式

因特网中域名服务器系统负责全网ip地址的解析工作它的好处是方便记忆。因特网中的域名服务器系统负责全网IP地址的解析工作,只需要简单的记住一个网站域名,而不必记住IP地址,因为域名必须对应一个IP地址,而IP地址不一定有域名。

网络的工作模式
它有两种工作模式,1是客户机服务器模式( Client /Server),简称C/S模式
2是对等模式(Peer to peer),简称p2p模式
客户服务器模式,和对等模式也是局域网目前流行的两种工作模式。
C/S模式
服务器是指专门提供服务的高性能计算机和专用设备;客户机是用户计算机。这是客户机向服务器发出请求并获得服务的一种网络形式,多台客户机可以共享服务器提供的各种资源。这是最常用,最重要的一种网络类型,不仅适合于同类计算机连网,也适用于不同类型计算机连网。这种网络的安全性容易得到保证,计算机的权限,优先级易于控制,监控容易实现,网络管理化,能够规范化;但是这种网络的性能在很大程度上取决于服务器的性能和客户机的数量。目前针对这类网络有很多优化性能的服务器,专用服务器。银行,证券公司都采用这种
p2p模式
对等网不要求服务器,每台客户机都可以与其他对客户机对话,共享彼此的信息资源和硬件资源,昨晚的计算机一般类型相同。这种网络方式灵活方便,但是较难实现集中管理与监控,安全性也低,较适合于部门内部协同工作的小型
我们都知道网络,它给我们提供的,就是一个服务的功能,因此接下来我要介绍网络服务的小知识。
网络服务
什么是网络服务呢?网络服务是指用户通过计算机网络,在共享资源及数据通信等方面能够得到的新增功能。
最常用的服务有下列几个方面:
文件服务:它指的是网络用户不仅可以使自己工作站上的程序数据,而且可以使用服务器或者其他工作站中可共享的程序与数据用户可以像使用本地的磁盘一样,对其中的程序和数据进行存取。
打印服务:网络上的工作站一般都不再配置单独的打印机,用户需要打印输出时, *** 作系统会自动把输出的文件送到网络打印机去。对于每一个需要打印的文件,网络打印机按先来先服务的顺序将其存放在打印队列中,然后进行处理,用户可以查看打印任务的情况。暂停或取消打印队列中的打印任务。
消息服务:指的是网络能实现用户之间的相互通信,在用户之间传递文本,图像和声音所表示的消息,最典型的消息服务是电子邮件,其他如网上聊天、网络电话、短消息、网上直播、视频会议等都是消息服务的普通型是他们已经得到了广泛地应用。
应用服务:是一种为网络用户运行软件的服务,即工作站需要执行的某一项任务,部分甚至全部都是由网络上的另一台计算机(称为应用服务器)完成。应用服务器允许网络上的计算机相互间共享处理能力协同完成特定的一项服务。

C/S结构

服务器-客户机,即Client-Server(C/S)结构。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。客户机通过局域网与服务器相连,接受用户的请求,并通过网络向服务器提出请求,对数据库进行 *** 作。

服务器接受客户机的请求,将数据提交给客户机,客户机将数据进行计算并将结果呈现给用户。服务器还要提供完善安全保护及对数据完整性的处理等 *** 作,并允许多个客户机同时访问服务器,这就对服务器的硬件处理数据能力提出了很高的要求。

扩展资料

C/S结构的优点——

(1)应用服务器运行数据负荷较轻。

最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。

(2)数据的储存管理功能较为透明。

在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,并且通常把那些不同的(不管是已知还是未知的)前台应用所不能违反的规则,在服务器程序中集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立订单这样的规则。

首选DNS和备用DNS都是一种域名系统,在首选DNS正常的情况下,就用首选DNS地址。当首选DNS服务器出现问题的时候,那么系统会自动启用备用的DNS服务器地址,从而保证网络的正常运行。

当主DNS停止服务时,计算机访问互联网自动请求备用DNS进行服务。当使用局域网上网时,路由器自动分配IP地址和DNS、网关等。

当使用ADSL拔号连接时,由ISP服务器提供。只有在特定由网络管理员分配权限时,才会告诉你DNS、IP地址、子网掩码、网关等详细设置。但一般情况下是不用的。全部自动分配。

域名系统(DNS)是建立在分布式数据库上的分层命名系统。该系统将域名转换为 IP 地址,并可以将域名分配给 Internet 组资源和用户,无论实体的物理位置如何。

DNS 通过为每个域指定权威名称服务器来分配域名并将名称映射到 IP 地址。这些服务器负责特定域,并可以将权威名称服务器分配给子域。作为此过程的结果,DNS 既是分布式的又是容错的。

DNS 存储接受 Internet 域电子邮件的邮件服务器列表。诸如射频识别标签,通用产品代码(UPC),电子邮件地址中的国际字符和主机名等标识符也使用 DNS。

扩展资料:

DNS的作用:

在互联网中,没有类似于>

此时DNS就出现了,它的作用就是将222222222222解析为>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10338988.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存