基于VB的局域网即时通讯软件设计浅谈

来源 :科学之友·下旬刊 | 被引量 : 0次 | 上传用户:hzqingqingcao
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本软件是利用计算机编程语言Visual Basic编写的一个运用于小型局域网络的通信软件。文章介绍了本软件的背景、目的和意义以及如何实现PC机之间点对点、点对多消息的通讯传输、在线用户的头像刷新、用户之间文件传输。
  关键词:vb;局域网;即时通讯;文件传输
  中图分类号:TP311.1 文献标识码:A 文章编号:1000-8136(2010)30-0156-02
  
  随着互联网技术信息技术的迅猛发展以及计算机技术的广泛应用,即时通信IM(Instant Messaging)作为一种方便、高效、廉价的交流方式被广泛运用于局域网(LAN)乃至广域网(WAN)。为人们的日常交流和资源共享以及传送信息和文件提供了方便。即时通信(IM)软件应运而生,且立即风靡全球。现在我国流行的IM 软件产品种类繁多,主要有国内腾讯公司的QQ,国外的MSN、Skype、ICQ、AIM、X-lite、Yahoo Messenger等。但在广域网的限制下主流即时通信软件服务器无法连接,这时开发局域网内的即时通信软件显得尤为重要。
  本软件实现设计一个局域网即时通讯软件,实现点对点、点对多即时通讯文件传输,方便在局域网下的人们工作与交流。
  1对现有网络通讯软件分析
  即时通信(Instant Messaging,IM)是随着Internet发展起来的一种使人们能在网上识别在线用户并与他们实时交换消息的实时通信技术。目前即时通信也包括文件传送、文件共享和语音视频通信等。与传统的通信方式相比,具有方便、快捷和廉价等特点。
  2局域网即时通讯软件的设计模型
  
  图1网络通信软件
  该软件是提供给局域网下普通工作人员的通讯软件,没有大量的数据录入以及数据查询等操作,所以该软件不需要与数据库集成,用户选择用户名与头像登陆后,就可以与在线的其他用户进行互聊传输文件等操作,可以自己存储相关的聊天信息等。
  用户为一般工作人员,考虑到一般工作人员的计算机水平以及喜好,所以软件界面不能太复杂,对于一般工作人员来说,他们登陆进入到界面时,除了要有吸引他们的界面外,还要让他们一眼就可以看到可以互聊操作的对象,以及各个按钮的功能作用,这里为每一个进入用户有相当明显的提示。
  该软件模型设计见图1。
  3局域网即时通讯软件设计流程
  本软件面向普通工作人员这个群体,该群体相对于计算机来说的相同特征都是计算机水平较一般,甚至都有自己的聊天喜好,为了满足用户界面尽量效仿QQ等主流软件,使用户使用更加亲切。基于这些原因,软件命名为“说说”。
  3.1登陆界面
  与常规的通讯软件不同,说说软件的登陆界面不需要输入用户名、密码等验证性的数据,因为局域网下每台计算机都有一个固定的IP地址,基于P2P理论上无需连接远程服务器。只是要求用户输入自己的昵称和选好自己的头像即可点击“进入”,进入到软件主界面,在主界面的左边的头像栏里会显示用户刚才输入的昵称与姓名。考虑到用户偏好登陆框基本采用QQ登陆框模型。本程序在此界面会得到所有的本机信息IP地址、广播域、端口号、头像号、昵称。
  3.2互联过程
  在PC与PC之间建立互联通讯的过程中最首要的需要了解两点信息:一个是对方IP;一个是互联端口。而在VB中为了实现网络互连特意提供了一个winsock控件为PC机之间互联建立了条件。只要在其属性中稍加设置就可以实现基本的互联,同时判断自己的IP段算出本机的广播域。由于UDP的诸多问题,本软件全部使用TCP/IP作为互联协议。
  3.3聊天以及组播的判断
  3.3.1自动载入信息的不同方式
  在本程序中最为重要的过程,即实现局域网内其他PC机的自动载入信息。通过判断对方传来的判断数字这样的方式,实现不同PC机上的用户进行在线用户头像自动载入,下线用户头像删除。
  (1)“我来了”向广播域传送(1+用户名、IP地址、端口、主机名、头像号)。当开启本程序时向互联过程下计算出的广播域下的IP地址挨个发送此信息,提取确认头数字1后,分解内容记录后显示在listview控件中,并以广播的形式发送一个2,这是其他PC机载入头像与昵称的基本条件,自己可以给自己的IP发送,实现自己的头像显示功能。
  (2)“欢迎”传送(2+用户名、IP地址、端口、主机名、头像号)。PC机收到1时用其提供的信息进行互联并向回发送本机信息,提取确认头数字2以后,记录后分解内容显示在listview控件中,这用来确定对方也在线。这里是与其他PC机建立互联关系的必要条件。
  (3)传送“再见”(5+空)。在其广播域中发送,提取确认头数字5以后,显示在listview控件中的相关内容释放。这里是其他PC机删除头像与昵称的基本条件,实现自己下线的显示。
  3.3.2聊天的模式
  如何载入分解的内容成了本段功能的重中之重,读取对方传来的信息时头数字后跟随数据有:用户名(即昵称)、IP地址、端口、主机名、头像号。我们对这段数据进行提取在以后调用中使用。通过这样的方式我们可以实现,上线头像载入、下线用户头像自动删除的功能,这里我们载入删除的不是头像,而是事先存在程序文件下头像编号。同时我们还可以从头判定数来判断聊天模式。
  (1)“单独聊天内容”传送(3+用户名、IP地址、端口、内容)。判断单独聊天地址与其进行连接进行信息传输,在这种头数字下的信息只有点对点之间的用户可以看见,在通过对其IP和端口连接下读取除判定信息后的聊天内容。
  (2)“共同聊天内容”传送(4+用户名、IP地址、端口、内容)。对所有连接上的PC机进行消息传输,在这种头数字下的信息要在广播域进行消息广播,这里基本与单独判定载入相同只是由其单点改成了对多点。
  3.4说说文件传输界面
  为了更好的体现本软件的使用价值本程序还自带文件传输功能。而文件传输主要分为单文件传输和目录文件传输(多文件传输),本软件使用VB 包中WinSock和WinSock建立TCP/IP直连进行文件流传送。
  3.4.1单文件传输
  当鼠标双击某用户头像时,会弹出与此用户传输文件的信息窗口。需要向对方传送文件,可直接将此文件添加到此窗口,为此在窗口中加入用于说明传输文件的简介,便于用户确认传输文件。先向对方发送确认接收文件信息,启动TCP/IP协议。在进行文件传输之前计算文件大小,并时刻记录文件已传输的大小与路径。
  3.4.2多文件传输
  文件传输还可实现将一文件夹下的多个文件一次性传送。在传送前系统会首先传一个要传送的多个文件名所形成的目录文件,然后再依次传送每个文件,对方每接收到一个文件,先对此文件在本地的存储目录进行判断,如果此目录不存在,则建立此目录,然后再发送确认接收文件。接收成功后,循环接收下一个文件。
  3.5相关文件的生成
  为了方便广大的用户,本软件安装只要一个主文件,其他相关文件设定为自动生成。如每次登录时软件自动读取第一次生成的INI文件,在Windows系统中,INI文件很多,该文件主要存放用户所做的选择以及系统的各种参数。用户可以通过修改INI文件,来改变应用程序和系统的很多配置。在本程序中,INI文件自动记录上次登陆信息。
  在主界面中选择保存聊天记录,会在当前软件所在路径下生成CHATS.Txt,里面记录了当前聊天的所有信息。
  4系统开发过程遇到的问题及解决方法
  本程序基本制作思想在于实现对等网互联通讯的实现,为了能直观体现其对等网的特点,必须制作出在线用户自动头像自动刷新、下线用户头像删除的功能。设计之初,互联信息的传播使用UDP协议在广播域中进行,但后来发现其他PC机无法读取到UDP传来的信息,分析其原因在于局域网路由分配的IP段不符合其广播域计算方式。后来采用了TCP/IP协议大大提高了信息传播的准确性与稳定性,而广播域算法也改成了取本机IP段最末位的1-255。从而实现了单路由下局域网的互联通信组播的判断。
  目前,本软件可以进行单路由局域网的互联数据传输,并计算出其广播域以及本机IP地址。但是对于跨路由的PC互联来说,由于受开发软件及本人技术的限制,使软件在计算跨路由广播域时出错,无法交换信息。再次本软件由于VB控件的限制,很难实现对于多媒体流的传输实现。
  利用Visual Basic面向对象的程序设计技术开发的局域网即时通讯软件,采用TCP/IP协议并通过及定义端口互联,这样软件的执行会更加准确方便,也使程序本身变得简单。最后,软件实现了较强的通讯功能,通过局域网内的互联实现文件批量传输、断点传输等文件传输功能,基本实现了用户在局域网内即时通讯的目的。
  参考文献
  1 王继魁. Linux下基于Shell脚本的聊天工具[J].吉林师范大学学报,2009(1):122~124
  2 周 敏、李凤婷、吴为民.基于VB的PC机与多台PLC的通信研究[J].计算机工程,2009(04):103~107
  3 李长林. Visual Basic串口通信技术与典型实例[M].北京:清华大学出版社,2006
  4 张 岩. Delphi下的点对点聊天工具编程[A].计算机工程应用技术,2009(2):1239~1241
  5 李远杰、刘渭锋.主流即时通讯软件通信协议分析[J].计算机应用研究,2005(7)
  6 汪发宝、楼新远.基于P2P组播技术的局域网即时通信系统的实现[J].铁路计算机应用,2008(18)
  7 王甜甜、郭全萍、马培军等.用指针实现的程序的标准化及其应用[J].哈尔滨工业大学学报,2009(41):48~53
  8 斯蒂文斯.TCP/IP网络互联技术(卷3)[M].北京:清华大学出版社,2004:156~203
  9 李为民.基于网络的远程运动控制系统的设计与研究[D].武汉:武汉理工大学,2003
  10 张传伟、王昀睿. VB下PLC与PC串口通信的实现[J].控制与检测,2005(12):62~66
  
  On the LAN-based Instant Messaging Software VB Design
  Wang Wei
  Abstract:This software is the use of Visual Basic computer programming language used in the preparation of a small local area network communication software. This article describes the software’s background, purpose and meaning and how to achieve between PC-to-point, point of communication and transmission of multiple messages, online user’s picture refresh, file transfer between users.
  Key words:vb; LAN; instant messaging; file transfer
其他文献
“我们要用视频、微电影这种最潮的手段传播曾被视为最古老的传统孝道。”“2012国际‘孝行天下’电视公益广告(微电影)大赛”组委会秘书长施晓亮说。
建筑行业发展离不开工程造价审核,对于建筑项目造价的控制是当下建筑企业所需掌握的基本技能,因此文章对于开展项目造价控制所产生的问题进行探究并给出相对的解决措施,并提出合
通过多次深入基层学校调研工作,笔者接触到生本课堂教育这个名词,在各学校的讲课、听课、评课经历让笔者收获了很多.笔者认为应该让“生本”走进每节英语课堂,因为生本课堂首
中国服务业对外开放的空间在不断拓展,中国利用外资正在加速迈入“服务经济时代”。在中国对外开放大格局中,服务贸易也正在发挥越来越重要的作用,促进市场化进程激发活力,同时促
摘要:随着我国信息技术的发展,机械制造领域发生了巨大变革,机械设计制造及其自动化产品在各行各业得到广泛应用。为人们的生活带来诸多便利,同时也节约了生产成本,提高了生产效率,保障了生产安全,加速了产业变革。为满足当前产品及工程的多元化需求,必须加快自动化进程,实现机械设备的智能化发展。本文阐述了机械自动化的设计原则和突出优势,指出了机械自动化的未来发展趋势。  关键词:机械制造;机械自动化;发展趋势
进行了聚焦光束焦深区稳态热晕效应的实验观测,获得了在不同热畸变参数情况下,相对光斑半径和Arry斑面积内光强的测量结果.实验表明主激光焦深区热晕效应对信标光接收瞳面上的光强分
【摘 要】有效加强设备仪器档案管理,可以其实反映设备仪器从购置、使用到报废的整个过程原始记录,使其在医疗诊断和治疗工作中发挥最大作用,确保设备仪器各项检测数据的准确性和有效性,达到及时提供具有证明作用的数据和结果的目的。笔者针对我院医疗设备仪器档案管理存在的问题,就健全和完善设备仪器档案管理模式,确保设备仪器档案能够真实反映设备仪器使用过程的完整资料个人见解。  【关键词】设备仪器;档案管理  医
近年来,基于工程造价管理体系优化及其工程监理在其中的作用得到了业内的广泛关注,研究其相关课题有着重要意义。本文首先介绍了我国工程造价管理现状,分析了工程造价管理体系优
智能变电站的作用及特点彻底解决了固原地区常规变电站运行维护不能满足电网发展需求的矛盾,智能变电站的投入使用有效提高了山区的供电可靠性与电网稳定性,减轻了运维负担,