首页 理论教育 电子白板系统的程序和时序流程

电子白板系统的程序和时序流程

时间:2022-02-12 理论教育 版权反馈
【摘要】:消息到达时,解密并检查时间戳,根据消息类型、用户权限和当前系统资源决定消息的处理流程。同时一次性随机数能防止重发攻击)。客户端的电子白板采用Java Applet,当客户端之间需要交互时,信息源客户端通过键盘、鼠标、剪贴板等方式输入文字或图像。Java Applet通过事件驱动机制,不仅在本机电子白板上实现用户的输入信息,而且将该信息放入一个TransVar对象中,并对该对象进行序列化,然后将TransVar对象放到一个ObjectOutputStream对象中进行传输。

5.4.1 服务器端程序模块流程

电子白板服务器是整个系统的管理与控制中心,负责接收白板用户的连接请示,通过服务器和拥护证书实现服务器-客户机的双向身份认证,然后,向合法用户分发组通信会话密钥。

用户成功登录进入系统后,服务器首先传送当前白板图元列表以实现用户与白板系统的初始同步,然后监听来自客户端的消息。消息到达时,解密并检查时间戳,根据消息类型、用户权限和当前系统资源决定消息的处理流程。程序流程如图5-6所示。

图5-6 白板服务器程序模块流程图

5.4.2 客户端程序模块流程

为了方便用户的操作,客户端以Java Applet的形式实现客户机与服务器的双向身份认证后,用用户私钥解密出群组通信会话密钥,然后注册进入白板系统,网络中传输的注册信息是由用户名、服务器端提供的一次性随机数和一组通信密钥共同产生的消息摘要,既可以提供对用户的进一步认证,又可以保证注册信息的安全性(即使被非法用户截获,也不能从中恢复出组通信密钥。同时一次性随机数能防止重发攻击)。进入白板系统以后,客户端开始捕获用户的操作指令,并生成相应的消息,处理以后发送到服务器。与此同时,接收来自服务器的消息,解释并更新本图元列表,以保持与服务器图元列表的同步。整个客户端程序流程如图5-7所示。

图5-7 客户端程序模块流程

客户端的电子白板采用Java Applet,当客户端之间需要交互时,信息源客户端通过键盘、鼠标、剪贴板等方式输入文字或图像。Java Applet通过事件驱动机制,不仅在本机电子白板上实现用户的输入信息,而且将该信息放入一个TransVar对象中,并对该对象进行序列化,然后将TransVar对象放到一个ObjectOutputStream对象中进行传输。当客户端向服务器端电子白板发送信息时,双方的通信是基于TCP/IP协议的,并采用面向连接的模式。在客户端生成一个Socket对象,向指定的IP地址和端口号发送请求,服务器端首先生成一个ServerSocket对象进行监听,当收到连接请求后,也生成一个Socket对象同请求端建立一个连接通道,由一个激活的线程管理,客户端通过这个通道将TransVar对象以数据流的形式向服务器发送信息,保证了上传信息的可靠性和即时性。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈