Labview实例——像QQ一样的聊天室程序

计算机网络 TOMORROW 2年前 (2018-06-15) 16551次浏览 25个评论 扫描二维码

 

Labview是一个很简单的开发平台,图形化的编程。下面给大家分享一个用Labview开发的一个像 QQ 一样的即时通讯聊天室,基于 TCP/IP 协议。可以实现多人同时在线聊天,并且可以实时显示在线成员的昵称哦。

下载通道:GitHub-Labview-OnlineChatroom (点开后不懂下载的看下图提示)

觉得不错的给该项目加个星支持一下 :oops: 。程序框图的保护密码为:www.tomorrow.wiki

Labview 实例——像 QQ 一样的聊天室程序

 

功能演示

Labview 实例——像 QQ 一样的聊天室程序

图 7-1-1 客户端 0 创建聊天室

  • 接着有两个远程客户端加入聊天室,并开始聊天,可以看到聊天窗口会实时显示聊天内容,Online List 也会显示实时在线的用户;

Labview 实例——像 QQ 一样的聊天室程序

图 7-1-2 聊天过程中客户端 0 的状态

Labview 实例——像 QQ 一样的聊天室程序

图 7-1-3 聊天过程中客户端 1 的状态

Labview 实例——像 QQ 一样的聊天室程序

图 7-1-4 聊天过程中客户端 2 的状态

  • 聊天室创建人销毁聊天室后,可以看到,客户端 1 和客户端 2 都在尝试重新连接到聊天室,最终若连续尝试若干次都失败后,就都会退出客户端程序;

Labview 实例——像 QQ 一样的聊天室程序

图 7-1-5 聊天被销毁后客户端 1 的状态

Labview 实例——像 QQ 一样的聊天室程序

图 7-1-6 聊天被销毁后客户端 2 的状态

架构设计

总体架构

该程序将采用 C/S(Client/Server)架构来进行设计。服务器程序将作为一个子 VI 程序相对独立于客户端程序,运行在创建聊天室的用户的本地主机上。

Labview 实例——像 QQ 一样的聊天室程序

服务器架构

  • 接收启动或者不启动服务器监听程序的信号;
  • 启动服务器监听程序后循环监听是否有新的客户端连接加入,并将其保存到缓存中;
  • 服务器程序将轮流从缓存中的客户端读取数据,并将接收到的数据分发到缓存中的所有客户端,当发送失败时则将相对应的客户端从缓存中删除,此部分功能与(2)中的服务器监听程序并行;

Labview 实例——像 QQ 一样的聊天室程序

客户端架构

  • 客户端采用了状态机的设计思想;
  • 客户端首先进入初始化状态,根据输入连接到相对应的服务器,然后切换到接收状态;
  • 在接收状态中,客户端接收来自服务器的数据。当接收失败时重新回到初始化状态;接收成功则进入发送状态;
  • 在发送状态中,客户端若接收到用户的发送指令时则把用户输入的内容发送到服务器去,否则则发送状态指令到服务器。当发送成功时,切换到接收状态;失败时则重新回到初始化状态;

Labview 实例——像 QQ 一样的聊天室程序


TOMORROW 星辰 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Labview 实例——像 QQ 一样的聊天室程序
喜欢 (26)
TOMORROW
关于作者:
一个从石头坑掉到泥坑里的攻城狮。
仁爱的紫菜发表我的评论  请填写正确的 个人信息
取消评论
表情 加粗 斜体 签到
(25)个小伙伴在吐槽
  1. 原创应该得到积极提倡。
    动听的人生2020-06-02 16:22 回复 Windows 7 | Firefox浏览器 76.0
  2. 可以的
    动人滴西瓜2020-05-27 15:37 回复 Windows 7 | 未知浏览器
1 2