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

计算机网络 TOMORROW 6个月前 (06-15) 2625次浏览 12个评论 扫描二维码

 

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 一样的聊天室程序
喜欢 (6)
TOMORROW
关于作者:
TOMORROW星辰第一作者。如有疑问或者发现错误,请留言作者。
勤劳的花瓣发表我的评论  如需接收评论回复通知,请填写正确的 个人信息
取消评论
表情 加粗 斜体 签到
(12)个小伙伴在吐槽
  1. 请问一下,server子VI里的各种ID是怎么弄出来的,listener id,connect id还有valid id
    俭朴的山水2018-12-12 11:08 (5天前)回复 Windows 10 | Chrome 58.0.3029.110
  2. 好东西啊,谢谢分享!
    大气的树叶2018-10-01 22:01 回复 Windows 7 | Internet Explorer 9.0
  3. 不错~~~
    年轻的嚓茶2018-09-27 15:49 回复 Windows 7 | Chrome 63.0.3239.132
  4. 666666666666666666666666
    火星上的短靴2018-08-08 17:02 回复 Windows 7 | Chrome 67.0.3396.99
  5. 好像学习
    忧郁的心情2018-08-06 12:40 回复 Windows 10 | Chrome 55.0.2883.87
  6. TOMORROW星辰第一作者。如有疑问或者发现错误,请留言作者
    傲娇的哑铃2018-07-21 23:20 回复 Windows 10 | Chrome 64.0.3282.140
  7. Thanks
    细腻的草丛2018-07-10 13:50 回复 Windows 7 | Chrome 67.0.3396.87
  8. 谢啦
    李白2018-07-07 01:15 回复 Windows 10 | Chrome 55.0.2883.87
    • TOMORROW
      不客气
      TOMORROW2018-07-07 01:16 回复 Windows 10 | 搜狗浏览器 2.X
  9. 好东西啊 :wink:
    害羞的时光2018-07-02 18:28 回复 Windows 10 | Chrome 55.0.2883.87
  10. 看看 :roll:
    帅气的帽子2018-06-17 13:16 回复 Windows 10 | 搜狗浏览器 2.X
  11. Reply testing
    TT2018-06-16 02:34 回复 Windows 10 | 搜狗浏览器 2.X