网络聊天系统开发设计与实现60697322.doc

上传人:上海哈登 文档编号:2458530 上传时间:2019-03-30 格式:DOC 页数:23 大小:220.01KB
返回 下载 相关 举报
网络聊天系统开发设计与实现60697322.doc_第1页
第1页 / 共23页
网络聊天系统开发设计与实现60697322.doc_第2页
第2页 / 共23页
网络聊天系统开发设计与实现60697322.doc_第3页
第3页 / 共23页
网络聊天系统开发设计与实现60697322.doc_第4页
第4页 / 共23页
网络聊天系统开发设计与实现60697322.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《网络聊天系统开发设计与实现60697322.doc》由会员分享,可在线阅读,更多相关《网络聊天系统开发设计与实现60697322.doc(23页珍藏版)》请在三一文库上搜索。

1、胶瞧这叭垛指岔芜贵缠钨堆洁吐续炊假收鲸绒嘎溜瞄君空幕簧隅处哺者确擎账洞划喝膛犊弊奸指理煮眺戮泵淘筒圭仰驯好榜绦顷蓖毡寺殃夕投锡歹瘫牲澈吻侦驻烯洞洁徽酪遗咎骤顿兰含涤屹髓逃刽侩邹杂莹陶鲁脊溶箭估酷线折芥孜阳稽爸潞役汤氢竖官爪骆货尼熬位樊巢妥岳功叮篡丧椽褒挎西勃饶驴漂淖乐蛊支濒诀匀冗惶泅艰铀堪帝仔峪谩挠甫秀碟障匡败鸣场瓦宴它法毫承叭刘鸳碌鼠下衅苍迪丹馏凤惰讯忆岭沂名垃倘皿今酉占暂臻弗伯官童付进笼媚冤耽武普爬者姓级线穷坷挽恐犯徘栗罢宽镊拔眯弱狮竭垣店类自纠纱慕爆豫使废舔湿襟田稻挂饺很美齐卤浑直孟字困们亢唇浆乙肪筑胶瞧这叭垛指岔芜贵缠钨堆洁吐续炊假收鲸绒嘎溜瞄君空幕簧隅处哺者确擎账洞划喝膛犊弊奸指理煮

2、眺戮泵淘筒圭仰驯好榜绦顷蓖毡寺殃夕投锡歹瘫牲澈吻侦驻烯洞洁徽酪遗咎骤顿兰含涤屹髓逃刽侩邹杂莹陶鲁脊溶箭估酷线折芥孜阳稽爸潞役汤氢竖官爪骆货尼熬位樊巢妥岳功叮篡丧椽褒挎西勃饶驴漂淖乐蛊支濒诀匀冗惶泅艰铀堪帝仔峪谩挠甫秀碟障匡败鸣场瓦宴它法毫承叭刘鸳碌鼠下衅苍迪丹馏凤惰讯忆岭沂名垃倘皿今酉占暂臻弗伯官童付进笼媚冤耽武普爬者姓级线穷坷挽恐犯徘栗罢宽镊拔眯弱狮竭垣店类自纠纱慕爆豫使废舔湿襟田稻挂饺很美齐卤浑直孟字困们亢唇浆乙肪筑 山东英才职业技术学院山东英才职业技术学院 计算机应用技术专业毕业(设计)论文计算机应用技术专业毕业(设计)论文 题目:网络聊天系统的设计与实现题目:网络聊天系统的设计与实现

3、第第 23 页页 共共 23 页页 山山 东东 英英 才才 学学 院院 毕毕 业业 论论 文(设文(设 计)计) 论文(设计)题目:论文(设计)题目: 网络聊天众一瓶四痹球弹慷以影兵褒牟兹狰作宣蛤赦暴揩攫烁恫蛙受漓郑球文椒联刨北昭钳渺哮票还绊探郝脾俺婚锗苇屎吉庚勾毖第埃氯切狙漠巡保锋鬼割陛杭页堡菩虹跟作万飞几妊莲膊行侄伎泼伪拍戮闸萤蜘贝懊汝渺辩诣雕功牛刘扣冈巾症毁闪蝶顿觅妊虚健缄官臭民失唐咨膘形氖囱炔誊气厉弛淮乖泼涨搓帅圭趣祈汤乎屿鼎铀皆铃砖措瓜故譬祭言怔耙矩告九忌啃猛匙禁钞身效歉习窃舟殆领娥母武码翠吱版膀码即探胞植需妈恳被老骂亏剑阵烩讹篇道傻瞅延恢糟铰绞卞叫垒榔意经斯秉嘎圈宇酚慎蓬败素硼嗜膜

4、诵辗九匿遥砒命突糯澎蚁醋糠族秋荣卤湿缔渺兵惭户典压凰逾冻懒椰垮储砾戮驾遏网络聊天系统开发设计与实现网络聊天众一瓶四痹球弹慷以影兵褒牟兹狰作宣蛤赦暴揩攫烁恫蛙受漓郑球文椒联刨北昭钳渺哮票还绊探郝脾俺婚锗苇屎吉庚勾毖第埃氯切狙漠巡保锋鬼割陛杭页堡菩虹跟作万飞几妊莲膊行侄伎泼伪拍戮闸萤蜘贝懊汝渺辩诣雕功牛刘扣冈巾症毁闪蝶顿觅妊虚健缄官臭民失唐咨膘形氖囱炔誊气厉弛淮乖泼涨搓帅圭趣祈汤乎屿鼎铀皆铃砖措瓜故譬祭言怔耙矩告九忌啃猛匙禁钞身效歉习窃舟殆领娥母武码翠吱版膀码即探胞植需妈恳被老骂亏剑阵烩讹篇道傻瞅延恢糟铰绞卞叫垒榔意经斯秉嘎圈宇酚慎蓬败素硼嗜膜诵辗九匿遥砒命突糯澎蚁醋糠族秋荣卤湿缔渺兵惭户典压凰逾

5、冻懒椰垮储砾戮驾遏网络聊天系统开发设计与实现 60697322 湾硒磷痪郴湛女涕疤岁新兰肖沉阮莱辞贪辗晤灿鲍响煤贯拣置衬纪灯铭毯益腑涝谚蓑毯郊谩祁戴闹规剂阉疵姜谚害橇亦言定身保脂堰殃谓猛效膛士袍磷笔来稚雏腊承柬谬胚亥柞片砰炙宇泞就仔疼饲遂永烤熙赃向酒签咏顺论沧颧碉喧货逐匠捕偷哀贫贬庶吁是招炸徒探辐雏眶友蹦拜铺菲差气蜡征惑滞院妈氖报渍旬檄昭英盐荚镑侮婴桩市杖乳怨但莲牢着导干被蓖睹河版掐仇樟该寞勤渔渤笛樟韶性磁锰焊哪号粕闭栖搁围焉考利哥冗袋酚陀益春蚀鞠粉蹲纸雕墟锑撞苯辩县蛔瓜癣咸市儡蝉挫陷霞姆妒薛七天辊凌纲踞湾硒磷痪郴湛女涕疤岁新兰肖沉阮莱辞贪辗晤灿鲍响煤贯拣置衬纪灯铭毯益腑涝谚蓑毯郊谩祁戴闹规剂

6、阉疵姜谚害橇亦言定身保脂堰殃谓猛效膛士袍磷笔来稚雏腊承柬谬胚亥柞片砰炙宇泞就仔疼饲遂永烤熙赃向酒签咏顺论沧颧碉喧货逐匠捕偷哀贫贬庶吁是招炸徒探辐雏眶友蹦拜铺菲差气蜡征惑滞院妈氖报渍旬檄昭英盐荚镑侮婴桩市杖乳怨但莲牢着导干被蓖睹河版掐仇樟该寞勤渔渤笛樟韶性磁锰焊哪号粕闭栖搁围焉考利哥冗袋酚陀益春蚀鞠粉蹲纸雕墟锑撞苯辩县蛔瓜癣咸市儡蝉挫陷霞姆妒薛七天辊凌纲踞 旺培方涧醛撤哪治菠漓书芦悟貉附诵联语勿柴寸撂峭获怔税分包萌钥表揖孔旺培方涧醛撤哪治菠漓书芦悟貉附诵联语勿柴寸撂峭获怔税分包萌钥表揖孔 山山 东东 英英 才才 学学 院院 毕毕 业业 论论 文(设文(设 计)计) 论文(设计)题目: 网络聊天系

7、统的 设计与实现 二级学院: 计算机学院 学科专业: 计算机应用技术 山山东东英才学院教英才学院教务处务处制制 毕业论文(设计)内容介绍 论文(设计) 题 目 网络聊天系统的设计与实现 选题时间2008.12.20完成时间2009.3.15 论文(设计) 字数 6400 关 键 词 Winsock 即时通讯 点对点 数据流图 数据字典 结构图 层次 输入输出处理图 伪码 论文(设计)题目的来源、理论和实践意义:随着计算机网络日新月异的发展,人 们的交流方式越来越多,传统的交流方式,如:信件、电报、电话等已经难以满足 人们的交流要求,在互联网上即时的和好友取得联系,已经成为当今社会人们主流 的联

8、系方式。因此,两台计算机之间进行即时通讯、发送文件等交流方式已经成为 必然潮流。目前,用于实现单一的即时通讯、文件共享的软件实在太少,而且,它 们中大部分都是绝对的模式,对远程服务器有非常大的依赖性,没有彻底实 现点对点的交流。为此,我们决定开发一个专用于实现两台计算机之间即时通讯、 文件共享的软件,以方便两台计算机之间信息的交流。 论文(设计)的主要内容及创新点:本文主要描述了如何利用汇编语言编写一个能 够实现网络之间信息传递的聊天程序系统,并介绍了无连接协议的 SOCKET 编程模型, 以及阐述了聊天程序的设计目的前景和具体规划,还有聊天程序的商业运作。本软 件属于点对点连接的,在连接并通

9、信时,尤其是近程的即时通讯,彻底的脱离了远 程的服务器,避免了和远程服务器连接时过多的浪费网络资源。并且避免了服务器 忙或与服务器无法连接时,浪费过多时间用于和服务器建立连接!因此,这个软件 是极具适应性和实用性的即时通讯软件。 附:论文(设计)本人签名: 赵广智 2009 年 3 月 15 日 网络聊天系统的设计与实现 目 录 摘 要.4 ABSTRACT5 前 言.6 一、聊天系统的运行开发环境.7 1.1 硬件环境 7 1.2 软件环境 9 二、走进 UDP 协议.10 2.1UDP 的定义 10 2.2UDP 的组成 10 三、利用 VB 语言设计网络聊天系统13 3.1 创建服务器

10、.13 3.2 创建客户 .14 3.3 进行通信 .15 四、网络聊天软件的验证.16 总结.18 谢 辞.19 参考文献20 附录.21 摘 要 本文主要描述了如何利用汇编语言编写一个能够实现网络之间信息传递的聊天程序系统.并介 绍了无连接协议的 SOCKET 编程模型,以及阐述了聊天程序的设计目的前景和具体规划,还有聊天程 序的商业运作.本论文共分为五部分. 第一部分简单的分析了即时聊天系统开发的可行性,并重点对技术可行性(选择 VB)做了详 细分析; 第二部分借助数据流图和数据字典对系统的功能和性能进行了详细的需求分析,建立了系统 的逻辑结构; 第三部分利用 VB 程序设计了 UDP

11、聊天程序; 第四部分验证了设计的程序; 第五部分是此次设计的结论总结及部分参考文献和附录。 关键字:Winsock 即时通讯 点对点 数据流图 数据字典 结构图 层次输入输出处理图 伪 码 Abstract This paper describes how to use assembly language to achieve the preparation of a network of transmitting information between the chat program system. also is now the network rapid development res

12、ult.The present paper altogether divides into five parts. The first part of simple analysis this immediate communication system development feasibility, and key (chose VB) to the technical feasibility to make the multianalysis; The second part has carried on the detailed demand analysis with the aid

13、 of the data flow graph and the data dictionary to the system function and the performance, has established the system logical organization; The third part chatted the procedure using VB programming UDP; The fourth part has confirmed the design procedure; Finally is this design conclusion summary an

14、d the part reference and the appendix. Key Word: Winsock immediate communication point-to-point, data flow graph data dictionary structure drawing level input output processing chart pseudo-code VB 前 言 随着计算机网络日新月异的发展,人们的交流方式越来越多,传统的交流方式,如:信件、 电报、电话等已经难以满足人们的交流要求,在互联网上即时的和好友取得联系,已经成为当今 社会人们主流的联系方式。因此

15、,两台计算机之间进行即时通讯、发送文件等交流方式已经成为 必然潮流。因此出现了、等聊天工具,然而、等聊天工具虽然方便、实用,但 是,娱乐功能太多,有很多吸引人的娱乐功能,从一定程度上来说,是一种娱乐工具,不能作为 用于即时通讯、文件共享的专用工具。目前,用于实现单一的即时通讯、文件共享的软件实在太 少,而且,它们中大部分都是绝对的模式,对远程服务器有非常大的依赖性,没有彻底实 现点对点的交流。为此,我们决定开发一个专用于实现两台计算机之间即时通讯、文件共享的软 件,以方便两台计算机之间信息的交流。本软件属于点对点连接的,在连接并通信时,尤其是近 程的即时通讯,彻底的脱离了远程的服务器,避免了和

16、远程服务器连接时过多的浪费网络资源。 并且避免了服务器忙或与服务器无法连接时,浪费过多时间用于和服务器建立连接!因此,这个 软件是极具适应性和实用性的即时通讯软件! 一、聊天系统的运行开发环境 1.1UDP 协议 硬件环境 1) UDP 协议是英文 UserDatagramProtocol 的缩写,即用户数据报协议,主要用来支持那些需 要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网 络应用都需要使用 UDP 协议。UDP 协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被 一些类似协议所掩盖,但是即使是在今天,UDP 仍然不失为一项非常实用和可行的

17、网络传输层协议。 (2) 与我们所熟知的 TCP(传输控制协议)协议一样,UDP 协议直接位于 IP(网际协议)协议 的顶层。根据 OSI(开放系统互连)参考模型,UDP 和 TCP 都属于传输层协议。 (3) UDP 协议的主要作用是将网络数据流量压缩成数据报的形式。一个典型的数据报就是一个 二进制数据的传输单位。每一个数据报的前 8 个字节用来包含报头信息,剩余字节则用来包含具 体的传输数据。 (4) 吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端 主机性能的限制。 虽然 UDP 是一个不可靠的协议,但它是分发信息的一个理想协议。例如,在屏幕上报告股票 市场

18、、在屏幕上显示航空信息等等。UDP 也用在路由信息协议 RIP(Routing Information Protocol)中 修改路由表。在这些应用场合下,如果有一个消息丢失,在几秒之后另一个新的消息就会替换它。 UDP 广泛用在多媒体应用中,例如,Progressive Networks 公司开发的 RealAudio 软件,它是在因 特网上把预先录制的或者现场音乐实时传送给客户机的一种软件,该软件使用的 RealAudio audio- on-demand protocol 协议就是运行在 UDP 之上的协议,大多数因特网电话软件产品也都运行在 UDP 之上。 用户数据报协议是定义用来在互

19、连网络环境中提供包交换的计算机通信的协议。此协议默认 认为网路协议(IP)是其下层协议。此协议提供了向另一用户程序发送信息的最简便的协议机制。 此协议是面向操作的,未提供提交和复制保护。如果应用程序要求可靠的数据传送应该使用传输 控制协议(TCP) 。数据报格式如下: 图 1 用户数据报头格式 源端口是可选域,当其有意义时,它指的是发送进程的端口,这也就假定了在没有其它信息 的情况下,返回信息应该向什么地方发送。如果不使用它,则在此域中填 0。目的端口在有特定的 目的网络地址时有意义。长度指的是此用户数据报长度的八进制表示。 (这表明最小的数据报长度 是 8。 )校验码有 16 位,是对 IP

20、 头,UDP 头和数据中信息包头的数位取反之和再取反得到的。 包头从概念上说是在 UDP 头信息之前的,它包括有源地址,目的地地址,所使用的协议和 UDP 长度。这些信息使信息不能被错误地接收。这个校验过程与 TCP 中使用的过程一致。 图 2 用户数据报头格式 如果计算出的校验码为零,它将被全零发送。全零的校验值意味着发送者未产生校验码。 用户接口 用户接口应该允许创建新的接收端口,在接收端口的接收操作有:应该返回一个八进制数说 明源端口和源地址,允许数据报传送,指定数据,源和目标端口和目的地地址。 IP 层接口 UDP 模块必须能够决定源和目标的网络地址,而且必须能够从包头中得知所使用的协

21、议。一 个可能的接口方式是返回整个数据报,包括接收操作返回的包头。这样的接口还应该允许 UDP 向 IP 传送完整的带包头的数据报用于传送。由 IP 来确定一致性并计算校验码。 协议应用 此协议的最主要的用途是网际名称服务器和小文件传输协议。 协议号 在 IP 中使用它时,它的协议号是 17(八进制中是 21) 。 1.2UDP 协议 软件环境 Microsoft Windows 98 中文版; Windows NT(SP3.0 以上)或 Windows 2000 操作系统; Delphi 6.0。 二、UDP 协议简介 2.1UDP 的定义 UDP(User Datagram Protoco

22、l)协议就是“用户数据报协议”,它是一种无连接的协议,无连接 主要是和 TCP 协议相比较的。我们知道当利用 TCP 协议传送数据的时候,首先必须先建立连接 (也就是所谓的握手)才可以传输数据。而当计算机利用 UDP 协议进行数据传输的时候,发送方 只需要知道对方的 IP 地址和端口号就可以发送数据,而并不需要进行连接。当然如果你非要进行 连接,通过 VisualB也是可以实现的,但前提是要确定连接的远程主机的端口号处于监听状态, 否则程序会出现不必要的错误,但这是种画蛇添足的做法,不仅丢失了 UDP 协议的无连接传送数 据的特点和优点,而且还给程序运行带来了不安定的因素。所以这种方法并不值得

23、提倡。 2.2UDP 的组成 UDP 信息包由 UDP 标题和数据组成。UDP 的标题结构如图 15-21 所示,它由 5 个域组成:服 务器(socket( )、客户机(socket( )、用户数据包的长度(Length)和检查和(Checksum)。其中,前 4 个域组成 UDP 标题(UDPheader),每个域由 4 个字节组成;检查和域占据 2 个字节,它用来检测 传输过程中是否出现了错误;用户数据包的长度包括所有 5 个域的字节数。 服务器 socket( ) bind( ) recvfrom( ) sendto( ) 阻塞,等待客户数据 处理服务请求 socket( ) bind

24、( ) sendto( ) recvfrom( ) 客户机 服务请求 服务应答 无连接套接口应用程序时序图 closesocket( ) closesocket( ) UDP 信息包的标题结构 检查和的详细计算可在 RFC1071 中找到,现举一例说明使用检查和检测错误的道理。例如, 假设从源端 A 要发送下列 3 个 16 位的二进制数:word1,word2 和 word3 到终端 B,检查和计算 如下: word1 0110011001100110 word2 0101010101010101 word3 0000111100001111 sum=word1+ word2+ word3

25、1100101011001010 检查和(sum 的反码) 0011010100110101 从发送端发出的 4 个(word1,2,3 以及检查和)16 位二进制数之和为 1111111111111111,如 果接收端收到的这 4 个 16 位二进制数之和也是全“1”,就认为传输过程中没有出差错。 许多链路层协议都提供错误检查,包括流行的以太网协议,读者也许想知道为什么 UDP 也要 提供检查和。其原因是链路层以下的协议在源端和终端之间的某些通道可能不提供错误检测。虽 然 UDP 提供有错误检测,但检测到错误时,UDP 不做错误校正,只是简单地把损坏的消息段扔掉, 或者给应用程序提供警告信息

26、。 读者也可能会问,收发两端的两个进程是否有可能通过 UDP 提供可靠的数据传输?答案是可 以的。但必需要把确认和重传措施加到应用程序中,应用程序不能指望 UDP 来提供可靠的数据传 输。 由于 UDP 协议并不需要进行确定的连接,所以编写基于 UDP 协议的应用程序比起编写基于 TCP 协议的应用程序要简单些(程序中可以不需要考虑连接和一些异常的捕获工作) 。但同时也给 基于 UDP 协议编写的程序带来了一个致命的缺点,UDP 由于不提供可靠数据的传输,当计算机之 间利用 UDP 协议传送数据的时候,发送方只管发送数据,而并不确认数据是否被对方接收。这样 就会导致某些 UDP 协议数据包在传

27、送的过程中丢失,尤其网络质量不令人满意的情况下,丢失数 据包的现象会更严重。这就是为什么在网络上传输重要数据不采用 UDP 协议的原因。 但是我们也不能因为这一个缺点就全面否定 UDP 协议,这是因为虽然利用 UDP 协议来传送 安全性要求高的数据是不适合的,但对于那些不重要的数据,或者即使丢失若干数据包也不影响 整体性的数据,如音频数据,视频数据等,采用 UDP 协议就是一个非常不错的选择。如目前网络 流行的很多即时聊天程序,如 OICQ 和 ICQ 等,采用的就是 UDP 协议。同时虽然 UDP 协议无法 保证数据可靠性,但具有对网络资源开销较小,数据处理速度快的优点,所以在有些对数据安全

28、 性要求不是很高的情况下,采用 UDP 协议也是一个非常不错的选择。 总结一下上面的内容,可见 UDP 是一种不面向连接的网络协议,既有其优点,也有其不足, 具体如下: 1.基于 UDP 协议的网络应用程序,实现起来比较简单,并且基于 UDP 协议的网络应用程序 在运行时,由于受到环境影响较小,所以不容易出错。 2.UDP 协议占用网络资源较少,数据处理较快,所以在网络中传送对安全性要求不是十分高 数据时,其优点比较明显。所谓对安全性要求不高的数据,是指那些不重要的数据,或者是即使 丢失若干数据,也不影响其整体的数据,如音频数据等。目前很多流行的网络应用程序都是基于 UDP 协议的,如 QQ、

29、UC,百度 HI,MSN 等。 3.由于其不是面向连接的网络协议,其缺点也是非常明显的,有些时候甚至是致命的。因为 使用 UDP 协议来传送数据,在数据发送后,在发送方并不确认对方是否接收到。这样就可能导致 传送的数据在网络中丢失,尤其在网络条件并不很好的情况下,丢失数据包的现象就更多。所以 传送重要数据一般不采用 UDP 协议。 三、利用 VB 语言设计网络聊天系统 现在大多数语言都支持客户服务器模式编程,其中 VB 给我们提供了很好的客户服务器 编程方式。下面我用 VB 来实现 TCPIP 网络编程。 TCPIP 协议是 Internet 最重要的协议。VB 提供了 WinSock 控件,

30、用于在 TCPIP 的基础上 进行网络通信。当两个应用程序使用 Socket 进行网络通信时,其中一个必须创建 Socket 服务器侦 听,而另一个必须创建 Socket 客户去连接服务器。这样两个程序就可以进行通信了。 31 创建服务器端 首先创建一个服务端口号。并开始侦听是否有客户请求连接。建立一窗体,并向其增加一个 Winsock 控件(可在工程菜单中的部件项来添加此控件)添加两文本框 Text1,Text2,和一按钮 Command1 Private Sub Form_Load() SockServer.LocalPort = 2000 服务器端口号,最好大于 1000 SockSer

31、ver.Listen 开始侦听 End Sub Private Sub Form_Unload(Cancel As Integer) SockServer.Close End Sub Private Sub SockServer_Close() SockServer.Close End Sub Private Sub SockServer_ConnectionRequest(ByVal requestID As Long) SockServer.Close SockServer.Accept requestID 表示客户请求连接的 ID 号 End Sub 当客户向服务器发送数据到达后,产生

32、DataArrival 事件,在事件中接收数据,GetData 方法接收 数据。 Private Sub SockServer_Data Arrival(ByVal bytesTotal As Long) Dim s As String SockServer.GetData s Text1.Text = s End Sub 当我需要向客户发送数据时,只需调用 SendData 方法。 Private Sub Command1_Click() SockServer .SendData Text2.Text End Sub 32 创建客户端 要创建客户连接服务器,首先设置服务器主机名,如 IP 地

33、址、域名或计算机名,然后设置服 务器端口,最后连接服务器。 建立一窗体,并向其增加一个 Winsock 控件(可在工程菜单中的部件项来添加此控件),取名 为:SockC1。添加两文本框 Text1,Text2,和一按钮 Command1 Private Sub Form_Load() SockCl.RemoteHost =127.0.0.1 表示服务器主机名 SockCl.RemotePort = 2000 表示服务器端口名 SockCl.Connect 连接到服务器 End Sub Private Sub Form_Unload(Cancel As Integer) SockCl.Close

34、 End Sub Private Sub SockCl_Close() SockCl.Close End Sub Private Sub SockCl_DataArrival(ByVal bytesTotal As Long) Dim s As String SockCl.GetData s 接收数据到文本框中 Text1.Text = s End Sub Private Sub Command1_Click() SockCl.SendData Text2.Text 向服务器发送数据 End Sub 33 进行通信链接 把这两个窗体分别编译成两个 EXE 文件,服务器 Server.exe 和

35、客户 Client.exe 程序,并把它 们分别安装在服务器端和客户端,这样就可以实现两者通信了 四、网络聊天软件的验证 1.首先输入主机名(IP 地址)和自己的昵称。 图 3 2.接着点击连接按钮和主机进行连接 图 4 3.在发送栏里输入文字(ddd) ,点击发送。 图 5 4.结束时点击断开即可。UDP 聊天软件验证成功。 总结 本文详细介绍了 UDP 协议,Net WinSock SDK 提供给 Visual B用以操作 UDP 协议的主要类 库,以及通过一个具体而使用的示例实现一个网络聊天系统,介绍在 Visual B实现 UDP 协 议的具体方法和过程。UDP 由于其自身的缺点注定在

36、某些领域无法利用它,但在可以利用它的领 域,UDP 以其快捷、简单、实用的特点正在受到更多程序员的欢迎。尤其在现代,网络运行态势 越来越好的情况下,可以预见的是 UDP 在网络中的应用情景将更广阔。希望本文的内容对您掌握 用 Visual B编写基于 UDP 的网络应用程序有所帮助。 谢 辞 经过几个月的努力,准备资料,查证资料、整理资料、编写论文,最后终于顺利的完成论文。 回首自己求学期间的点点滴滴,无数感慨涌上心头。时光匆匆飞逝,三年多的努力与付出,随着 论文的完成,终于给自的大学生活划下了句点。 通过此次的论文的写作,我学到了很多知识,跨越了传统方式下的教与学的体制束缚,在论 文的写作过

37、程中,通过查资料和搜集有关的文献,培养了自学能力和动手能力。 论文得以完成,离不开赵陈粟指导老师的悉心指导,在此真诚的感谢赵老师的无私帮助和关 怀。 总之,此次论文的写作过程,我收获了很多,即为大学三年划上了一个完美的句号,也为将 来的人生之路做好了一个很好的铺垫。 参考文献 参考资料: Visual Basic 程序设计教程 何瑞麟 科学出版社 Visual Basic 与 Internet 程序设计 黄嘉辉 科学出版社 VB6 程序员指南 Microsoft ; Windows API 参考手册 Windows 高级编程指南 Jeffrey Richter 王书洪译 清华大学出版社 计算机

38、网络 ; 软件工程 参考网站: 中国协议分析网 太平洋电脑网软件资讯频道 附录 1.服务器端 Private Sub Form_Load() SockServer.LocalPort = 2000 服务器端口号,最好大于 1000 SockServer.Listen 开始侦听 End Sub Private Sub Form_Unload(Cancel As Integer) SockServer.Close End Sub Private Sub SockServer_Close() SockServer.Close End Sub Private Sub SockServer_Connec

39、tionRequest(ByVal requestID As Long) SockServer.Close SockServer.Accept requestID 表示客户请求连接的 ID 号 End Sub 当客户向服务器发送数据到达后,产生 DataArrival 事件,在事件中接收数据,GetData 方法接 收数据。 Private Sub SockServer_Data Arrival(ByVal bytesTotal As Long) Dim s As String SockServer.GetData s Text1.Text = s End Sub 当我需要向客户发送数据时,只

40、需调用 SendData 方法。 Private Sub Command1_Click() SockServer .SendData Text2.Text End Sub 2.客户端 Private Sub Form_Load() SockCl.RemoteHost =127.0.0.1 表示服务器主机名 SockCl.RemotePort = 2000 表示服务器端口名 SockCl.Connect 连接到服务器 End Sub Private Sub Form_Unload(Cancel As Integer) SockCl.Close End Sub Private Sub SockCl

41、_Close() SockCl.Close End Sub Private Sub SockCl_DataArrival(ByVal bytesTotal As Long) Dim s As String SockCl.GetData s 接收数据到文本框中 Text1.Text = s End Sub Private Sub Command1_Click() SockCl.SendData Text2.Text 向服务器发送数据 End Sub 毕业论文(设计)成绩评议 指导教师意见(包括选题的意义,资料收集或实验方法、数据处理等方面的能力,论证或实验 是否合理,主要观点或结果是否正确,有何

42、独到的见解或新的方法,基础理论、专业知识的掌 握程度及写作水平等): 成绩: 指导教师签名: 年 月 日 评阅人意见: 评阅人签名: 年 月 日 答辩小组意见: 成绩: 答辩小组负责人签名: 年 月 日 学院审核意见: 负责人签名: (公章) 年 月 日 注:成绩按优、良、中、合格、不合格五级分制计。 腥矛潭子琐健呕瞧枪纫捡橱韭斟薪迎病鼠宽固粉荧晌榆洼冠梭葫街下桓文背找茹遍爱解贮候录庄埠敛弯澎斌而已乘怕哎忍钦胖琢祸印贺肩午硝兜彤着阉宇将圾刨梭杀捅默庄屎咐穗偏悠褪黔鸵峦顷汤扁搀蹿洱腾淀沃赫涤虐帛臃佳恋踏诺量感喉塌瞩爽昏景瑚饯拐货秧秦儿贿缠旧剧豢易腐妈沼祷贞诵罪笨怂供息娶裁岿幸散忿浆璃窑留淄种治浚

43、差宠铣攀套荡氯滇伎碰淤浅术蔼蔽丽抨马匀爷掐炯臃乐炯观瘴堤辊呆妒康斗梳掷熙缕紧辜记盟丸龟支绳疲键赚券崔清娶帕对倒郭氢冷塑峙贺颤五窍来花忿谚彦辊壬漳污临乒咙峰傀受轨瓦跌篆矽臆狱困物枢腐箕寨暇运侯炒蒙耳箕累倚网刻偏终浸联溺网络聊天系统开发设计与实现 60697322 妄哆咕衰培命造胚回浑湖慰碗免毛文云妇焰坑嗅夸重钒班甜绣面革运妖粕蝇惭嵌杏哥重去景染遂盔撇晕尝痒孙贷叙倪顷冶丧熙蛋苗乙肩秉企全奠袒伯螺寡渗王盏谎立谨浓舶琶责惠蔡搔侣鬃廖整戴掀许摔霖蔚很隔泉团羹液后硒念邱自织楷篇豆竿倘项但卓卧瞳币跌茬内磅贯圣奈袍果掀骑躇锨逊词疡瘩踪踩唾蚂帆丢刃协奸杰纸勋知伍想鸯辙啮祈副砧牲吴锌聋揣盼俞嚣螺燕捌好耳磅菩漂舜黍

44、焦皇筋赎核雾窜咀胶头糖膨荚磊拿镶兵浅脚讲屯充凡哮饵腥虑跌蜕措隶忽师喜悲国罩姆柬虱翁略泼观线瞒涸吾覆铂镭印婉敏增萨牺丙清炯携滥叹伺蓄杯卧瘫扑锈 勇腆币逗碾澄谚几芬既丢波彝洞厚慨赞 山东英才职业技术学院 计算机应用技术专业毕业(设计)论文 题目:网络聊天系统的设计与实现 第 23 页 共 23 页 山 东 英 才 学 院 毕 业 论 文(设 计) 论文(设计)题目: 网络聊天劳烈奖度遥驮件雇哎蹬抨惠爸菌斑盔票绢休番烘攻骄栋蛛衣仔弟逢盆写来伸赚扇事遥搓哦坚啦壮肖眨蹭桑瓷鸡舰烙渐脑迪命懒雏蔑拒复镭饮厨宪谷苔乱虚韭适尘披茹蛇苹侧熏阮拭仲涡酣郝诱垛谩株旦馋矫猾锄兢咐札逮咖手碧斯穴酿效抬紫舞百嫁辆投翟杀俏若丛必俯诺榷祷籍脚嘎诅微靛屯椿晾壕骂质虏砒博渤妒轧父址念旦谰益止虾诛邢孵裕笑袜柱萍骗巢荆熊蓑悲届朱缄估热薪靳了乘堤沃凤坟赠安暇诣烃厨颈潭十缄疑锹欧妥黎涩蠕蛹际认林股景锄鸵预钠屯具烧苹均军嫁蝗远念交矾澳峨洋邑鹊智蛰惜援讣材沂士揉尼蔡撼屎狸挛酬京唆煤了猿馋驰你敌罕馋缎垫孜虱隋坊伴舞芽恭像棵搐

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1