即时通讯简单步骤-即时通信怎么实现的详细说说其过程或遇到的坑

时间:2020-11-20

安卓开发

即时通讯是如何工作的简单即时通讯软件。

采用P2P方法,其中每个客户端直接发送一条消息用于会话聊天,其中服务器只充当协调器(混合P2P)。

1、 会话流程设计国内即时通讯软件排名。

当一个新用户通过自己的客户端登录系统时,他从服务器获取当前在线用户信息的列表,其中包括系统中每个用户的地址。 用户可以开始独立工作,自主地向其他用户发送消息,而不需要通过服务器。 每当新用户加入或在线用户退出时,服务器及时发送消息通知系统中的所有其他用户,以便他们实时更新用户信息列表。

根据以上思路,设计系统会话流程如下:

(1)用户通过客户端进入系统,向服务器发送消息并请求登录。 (2)在收到请求后,服务器向客户端返回一条回复消息,表示同意接受用户的成员资格,并顺便告诉用户服务线程所在的侦听端口号。

(3)客户端根据服务器响应中给出的端口号与服务器建立稳定连接。

(4)服务器通过连接将当前在线用户的列表信息传递给新添加的客户端。

(5)客户获得在线用户名单,并可与其他在线用户独立交流。

(6)用户退出系统时及时通知服务器。

2、用户管理即时通讯软件排名。

在系统中,服务器和客户端都保存一个在线用户列表,客户端的用户表在登录开始时从服务器获取。 在运行程序的过程中,服务器负责实时通知系统中用户的变化,及时向每个成员用户在线。

当新用户登录时,服务器将用户表传递给他,并向系统的每个成员广播“登录”消息,这些成员在收到用户表后更新其用户表。

类似地,当用户退出系统时,服务器将消息及时传递给每个用户,这就要求每个用户在想退出之前告诉服务器。免费即时通讯软件。

3、协议设计

3、1客户端和服务器会话

(1)着陆过程。

客户端通过匿名UDP向服务器发送消息:。登录,用户名,

消息内容由3个字段组成,字段之间用“,”分隔:“login”表示登录请求;“username”表示用户名;“username”表示客户端本地地址。

服务器收到后匿名返回以下消息UDP:

接受,港口

写一个简单的即时通讯软件需要掌握哪些基础的网络知识

其中,“Accept”表示服务器已接受请求;“port”是服务线程使用同步TCP监听可能的客户连接的端口。

连接服务器获取用户列表:

客户端的“端口”字段的值服务在端口上,因此它向端口发起TCP连接,向服务器请求在线用户列表,服务器接受连接并将用户列传输给客户端。

用户列表格式如下:全球三大即时通讯软件。

username1,IPEndPoint1;username2,IPEndPoint2;。。;end

用户名1,用户名2、作为用户名,IPEndPoint1,IPEndPoint2、作为它们相应的端点。每个用户的信息由一个以“;”分隔的“username端点”组成,整个用户列表以“end”结尾”。

3、1服务器协调管理用户

(1)通知新用户。

由于系统中的每个现有用户都有当前的用户表,当一个新成员加入时,服务器不必向系统中的每个成员重复用户表,只需将新成员的信息告诉系统中的其他用户,然后由他们更新自己的用户表。

服务器向系统中的用户广播以下消息:即时通讯。

端点字段写为“”,表示远程用户终端登录,本地客户线程相应更新用户列表。 实际上,在这个过程中,服务器只是转发接收到的“登录”消息。

(2)用户退出。即时通讯

与新成员一样,服务器广播和转发用户直接退出:即时通讯软件。

注销,用户名,

其中“”是退出系统的远程用户终端的端点地址。

3、1用户终端之间的聊天即时通讯工具。

当用户聊天时,他们各自的客户端以P2P方式工作,是点对点的,独立的,不与服务器直接接触。

4、制度执行

4、1服务线程

系统运行后,服务器首先启动服务线程,只需单击“开始”按钮即可。

即时聊天软件可以在网络软件的两个或多个用户之间传输即时消息,大多数即时聊天软件可以显示联系人列表,并可以显示联系人是否在线。 用户发送的每个单词都会立即显示在两个屏幕上。 。