基于TCP协议的聊天室.docx
《基于TCP协议的聊天室.docx》由会员分享,可在线阅读,更多相关《基于TCP协议的聊天室.docx(10页珍藏版)》请在冰豆网上搜索。
基于TCP协议的聊天室
虚拟仪器课程设计
课程名称:
基于TCP/IP多人聊天室
班级:
机0704
姓名:
王鹏
学号:
20070813
基于TCP/IP多人聊天室
一、设计目的:
网络时代的到来,给人们的生产和生活带来了跳跃式的发展。
以前人们的信息交流是通过电话、信件、电报等手段,由于功能的局限给收发双方带来了很多的不便。
随着网络聊天、电子邮件、万维网等的出现,使人们阅读和交换信息变得更加便捷。
以前一封信件从一方到另一方最快也要一天的时间才能送到,现在只要双方都拥有连入互联网的计算机,发送同样内容的信息只需要几秒钟甚至更短的时间。
聊天室更是近几年来比较热门的一种聊天工具,以前的聊天室都是由C语言编程和PHP网页编程来实现,学习了labviEW之后,突发奇想用labviEW来实现聊天室的功能,尝试编辑此程序,并成功运行。
二、设计特点:
此程序为多人聊天室,可多人在线收发文字信息,基于TCP/IP协议,可实时传输数据,自动获取计算机名称或手动输入聊天名称,更便于识别不同人的身份,此程序分为服务器和客户端两部分,只需要一台服务器运行,可多个客户端在不同地点登陆。
3、系统程序设计
1、Server服务器程序
服务器端为客户端提供交互式连接,仅需一个服务端开启,即可实现多个客户端同时登陆,其程序如下:
(1)、前面板
端口为计算机与外界通讯交流的出口,只有服务器所开端口和客户端端口相同时,才可进行通讯。
这里服务器和客户端的端口都设置为45067。
(2)、后面板
TCP/IP协议首先应调用TCP侦听,侦听是否有客户端请求连接。
调用节点调用的是lianjie.vi子vi程序。
2、lianjie.vi连接VI
连接vi主要是处理TCP连接、发送、接收数据。
(1)、前面板
前面板为设置欢迎词,将欢迎词发送给新加入聊天的客户。
欢迎词为“欢迎来到机0704班聊天室”。
(2)、后面板
发送数据循环
将接收到的聊天信息发送给所有客户端
接收数据循环
接收客户端发送的数据和客户登陆信息,并发送用户登录信息
错误处理模块
处理一般连接错误,不关闭程序运行
3、Log子VI
用于提示用户登陆和退出信息,格式如下
“某某用户已登陆”、“某某用户已退出”
(1)、前面板
(2)、后面板
4、Tuichu子VI
用于处理客户端退出时产生的连接错误和应用程序误操作产生的错误,当产生错误时,程序停止TCP数据的收发并停止程序。
(1)、前面板
(2)、后面板
当客户端退出时,会发送退出信息“Q”,当服务器受到单字节“Q”时,停止连接客户端。
5、信息和程序通知
用于处理用户登陆和退出的通知的接收和发送,错误信息的通知等。
(1)、前面板
(2)、后面板
信息通知
程序通知
6、客户端程序
客户端程序用于连接服务器、发送文字信息和接收服务器发送的文字信息。
端口和服务器的端口必须一致,IP地址为服务器的IP地址,显示的用户名为本机的用户名,当运行客户端时,点击连接到服务器,可提示是否登陆的服务器,发送消息按回车即可。
(1)、前面板
(2)、后面板
发送文字时按回车实现方法
点击连接时发送本机用户名实现方法
总程序框图
四、过程演示
五、实验总结
经过几天的学习与努力,终于成功运行本程序,通过对TCP的学习,了解了TCP/ip协议的数据发送方式,可以对本程序做简单改进,即可实现多计算机的任意数据的交互式发送接收。