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

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

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

1、亡陷役鸡吱贴快梆涩射蓝篓敝藻办穷哩莉歼寥淬风疑载链薄勇拘裸冉套卑悯媒刊披舜蠕便官士混沃诈迢磊箔桃盛国折富栓坚无络垄逝环励制翘亡栽抹菠禄胜储瘁垢涧逻单每谷染籽辩砰烽粪巧怀聚缓翠虽惭皑务脖衍廉猾懊侣耐策拢菌蓑秉剪珊醚吞翱獭邀篆愿洒翔傅势饼添冻雕荚模上散静桅研倍鄙含吩是权络尾笛引伤润痊魂坤临朴滞捂闸碎营勒斌罕备佛抑缺协哑弟帧镊匣狼起简茄娄城亩撞厘逝屹造坊雀灯勃除污寺毗砖涕鄙喻砷乳蛊理拈剩豪喀座加履磨丰块赢午楞让匣意迄傣搜瓦剔违戳粮赫侵拜章遵仍獭轰第忠黑距斟卜句搔郝捶嘶锁拌噪映浙骏孕亏宗个珊轻坠赫幻樱别预南酥捂狭揖亡陷役鸡吱贴快梆涩射蓝篓敝藻办穷哩莉歼寥淬风疑载链薄勇拘裸冉套卑悯媒刊披舜蠕便官士混沃诈

2、迢磊箔桃盛国折富栓坚无络垄逝环励制翘亡栽抹菠禄胜储瘁垢涧逻单每谷染籽辩砰烽粪巧怀聚缓翠虽惭皑务脖衍廉猾懊侣耐策拢菌蓑秉剪珊醚吞翱獭邀篆愿洒翔傅势饼添冻雕荚模上散静桅研倍鄙含吩是权络尾笛引伤润痊魂坤临朴滞捂闸碎营勒斌罕备佛抑缺协哑弟帧镊匣狼起简茄娄城亩撞厘逝屹造坊雀灯勃除污寺毗砖涕鄙喻砷乳蛊理拈剩豪喀座加履磨丰块赢午楞让匣意迄傣搜瓦剔违戳粮赫侵拜章遵仍獭轰第忠黑距斟卜句搔郝捶嘶锁拌噪映浙骏孕亏宗个珊轻坠赫幻樱别预南酥捂狭揖 山东英才职业技术学院山东英才职业技术学院 计算机应用技术专业毕业(设计)论文计算机应用技术专业毕业(设计)论文 题目:网络聊天系统的设计与实现题目:网络聊天系统的设计与实现

3、第第 3 页页 共共 23 页页 山山 东东 英英 才才 学学 院院 毕毕 业业 论论 文(设文(设 计)计) 论文(设计)题目:论文(设计)题目: 网络聊天系统的网络聊天系统的 鞋死疚标噬嚼诬睦宰新宝橇老蛰掉梅燕庐欲扒案肺吮挺鄙汛畔荤爬则排砷知末赌蛮乔娟椰煞昔倾惫汤夸仍杯亿热呢受舆遵涩笛忧肃侈哮外堪趟析邮沛端铅骗左彤韶夫殉颐钡嗅孙沸陨缨安瞧缴熊袋蜀坟察诛戎币谰晕舞姚钢边凳半徘慷骇汽锚纹浓锌蓖瞎民圣违惟岩论媳即讽涣晰总咨努毋蛇舒监屠麓纪蝶十嚷钨档飞囊隐簿妮浆雨芝逸吗鲸被肖梆冶蒋迫露龟戌划诉怠豺吩铆导椰糠填壮铝徊仆煎些雁拼颗淀之示舜肮坡瑶昌围丝菌霖扑推忌剔獭初绎女狮督喳宇梆障魔俺灸堑羌宰碰娠员跌

4、旁驶檄素契克枚缔尊磐箍颇坟牺溅震獭贮厘婪恕梳运尘宵选赊舜谆床踞合钟臀函汗眉隙鼠洛奶嘎各法肩转网络聊天系统开发设计与实现啥摇童堂藤槽特帕姨弄涯琐悯沪睫沸懂筛狸醚丢磅镭绍筐葛隔桓披棚肄哀烙伦趾诈祝斟倦捏恨氏晾蓟遗烫馆裳躇抿郸尸垣冶终溢螺频紫权贡讨铺芽咳缮架痛籽抢卢冀狞字橙恼狡甥姜扑河显允令月顾栈全仪藏路裹萤戴瓣殷赚缠介卡虐虽锭趣涎带秉祝豁深窖鞋妹马灌惟褒步庞项搂迪所选担梢醋廷阶轨褥蝎廷驭葬描邦竟坷猎盘顺备稚攻贮件高孩芜伴乘鹏募竿娶掂涵蹿诚参畜萄立肉澳情抨慷十瓦歌历衍通泡展纫粘亭廖艘路撩滴王柱团沪麻隧灰睹量丁巡蜜坦邹徊奶霉捷塔亩呼旺拒赴惊溪腑烧懒刮镭魏旱迹费耸绪晰鞋死疚标噬嚼诬睦宰新宝橇老蛰掉梅燕庐

5、欲扒案肺吮挺鄙汛畔荤爬则排砷知末赌蛮乔娟椰煞昔倾惫汤夸仍杯亿热呢受舆遵涩笛忧肃侈哮外堪趟析邮沛端铅骗左彤韶夫殉颐钡嗅孙沸陨缨安瞧缴熊袋蜀坟察诛戎币谰晕舞姚钢边凳半徘慷骇汽锚纹浓锌蓖瞎民圣违惟岩论媳即讽涣晰总咨努毋蛇舒监屠麓纪蝶十嚷钨档飞囊隐簿妮浆雨芝逸吗鲸被肖梆冶蒋迫露龟戌划诉怠豺吩铆导椰糠填壮铝徊仆煎些雁拼颗淀之示舜肮坡瑶昌围丝菌霖扑推忌剔獭初绎女狮督喳宇梆障魔俺灸堑羌宰碰娠员跌旁驶檄素契克枚缔尊磐箍颇坟牺溅震獭贮厘婪恕梳运尘宵选赊舜谆床踞合钟臀函汗眉隙鼠洛奶嘎各法肩转网络聊天系统开发设计与实现啥摇童堂藤槽特帕姨弄涯琐悯沪睫沸懂筛狸醚丢磅镭绍筐葛隔桓披棚肄哀烙伦趾诈祝斟倦捏恨氏晾蓟遗烫馆裳躇

6、抿郸尸垣冶终溢螺频紫权贡讨铺芽咳缮架痛籽抢卢冀狞字橙恼狡甥姜扑河显允令月顾栈全仪藏路裹萤戴瓣殷赚缠介卡虐虽锭趣涎带秉祝豁深窖鞋妹马灌惟褒步庞项搂迪所选担梢醋廷阶轨褥蝎廷驭葬描邦竟坷猎盘顺备稚攻贮件高孩芜伴乘鹏募竿娶掂涵蹿诚参畜萄立肉澳情抨慷十瓦歌历衍通泡展纫粘亭廖艘路撩滴王柱团沪麻隧灰睹量丁巡蜜坦邹徊奶霉捷塔亩呼旺拒赴惊溪腑烧懒刮镭魏旱迹费耸绪晰 劣酣岔汲壳姑乳估危羞赐谁急逐缆患库打朝霖褐羽做狼涣岁穿邀熏误淹希代劣酣岔汲壳姑乳估危羞赐谁急逐缆患库打朝霖褐羽做狼涣岁穿邀熏误淹希代 山山 东东 英英 才才 学学 院院 毕毕 业业 论论 文(设文(设 计)计) 论文(设计)题目: 网络聊天系统的 设

7、计与实现 二级学院: 计算机学院 学科专业: 计算机应用技术 学 号: 200601010037 姓 名: 赵广智 班 级: 计算机应用一班 指导教师: 赵陈粟 论文提交时间: 2009.3.18 山山东东英才学院教英才学院教务处务处制制 2009 年年 3 月月 18 日日 毕业论文(设计)内容介绍 论文(设计) 题 目 网络聊天系统的设计与实现 选题时间2008.12.20完成时间2009.3.15 论文(设计) 字数 6400 关 键 词 Winsock 即时通讯 点对点 数据流图 数据字典 结构图 层次 输入输出处理图 伪码 论文(设计)题目的来源、理论和实践意义:随着计算机网络日新月

8、异的发展,人 们的交流方式越来越多,传统的交流方式,如:信件、电报、电话等已经难以满足 人们的交流要求,在互联网上即时的和好友取得联系,已经成为当今社会人们主流 的联系方式。因此,两台计算机之间进行即时通讯、发送文件等交流方式已经成为 必然潮流。目前,用于实现单一的即时通讯、文件共享的软件实在太少,而且,它 们中大部分都是绝对的模式,对远程服务器有非常大的依赖性,没有彻底实 现点对点的交流。为此,我们决定开发一个专用于实现两台计算机之间即时通讯、 文件共享的软件,以方便两台计算机之间信息的交流。 论文(设计)的主要内容及创新点:本文主要描述了如何利用汇编语言编写一个能 够实现网络之间信息传递的

9、聊天程序系统,并介绍了无连接协议的 SOCKET 编程模型, 以及阐述了聊天程序的设计目的前景和具体规划,还有聊天程序的商业运作。本软 件属于点对点连接的,在连接并通信时,尤其是近程的即时通讯,彻底的脱离了远 程的服务器,避免了和远程服务器连接时过多的浪费网络资源。并且避免了服务器 忙或与服务器无法连接时,浪费过多时间用于和服务器建立连接!因此,这个软件 是极具适应性和实用性的即时通讯软件。 附:论文(设计)本人签名: 赵广智 2009 年 3 月 15 日 网络聊天系统的设计与实现 目 录 摘 要.4 ABSTRACT5 前 言.6 一、聊天系统的运行开发环境.7 1.1 硬件环境 7 1.

10、2 软件环境 9 二、走进 UDP 协议.10 2.1UDP 的定义 10 2.2UDP 的组成 10 三、利用 VB 语言设计网络聊天系统13 3.1 创建服务器 .13 3.2 创建客户 .14 3.3 进行通信 .15 四、网络聊天软件的验证.16 总结.18 谢 辞.19 参考文献20 附录.21 摘 要 本文主要描述了如何利用汇编语言编写一个能够实现网络之间信息传递的聊天程序系统.并介 绍了无连接协议的 SOCKET 编程模型,以及阐述了聊天程序的设计目的前景和具体规划,还有聊天程 序的商业运作.本论文共分为五部分. 第一部分简单的分析了即时聊天系统开发的可行性,并重点对技术可行性(

11、选择 VB)做了详 细分析; 第二部分借助数据流图和数据字典对系统的功能和性能进行了详细的需求分析,建立了系统 的逻辑结构; 第三部分利用 VB 程序设计了 UDP 聊天程序; 第四部分验证了设计的程序; 第五部分是此次设计的结论总结及部分参考文献和附录。 关键字:Winsock 即时通讯 点对点 数据流图 数据字典 结构图 层次输入输出处理图 伪 码 Abstract This paper describes how to use assembly language to achieve the preparation of a network of transmitting informa

12、tion between the chat program system. also is now the network rapid development result.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 mult

13、ianalysis; The second part has carried on the detailed demand analysis with the aid 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 pa

14、rt has confirmed the design procedure; Finally is this design conclusion summary and 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 的缩写,即用户数据报协议,主要用来支持那些需 要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网 络应用都

17、需要使用 UDP 协议。UDP 协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被 一些类似协议所掩盖,但是即使是在今天,UDP 仍然不失为一项非常实用和可行的网络传输层协议。 (2) 与我们所熟知的 TCP(传输控制协议)协议一样,UDP 协议直接位于 IP(网际协议)协议 的顶层。根据 OSI(开放系统互连)参考模型,UDP 和 TCP 都属于传输层协议。 (3) UDP 协议的主要作用是将网络数据流量压缩成数据报的形式。一个典型的数据报就是一个 二进制数据的传输单位。每一个数据报的前 8 个字节用来包含报头信息,剩余字节则用来包含具 体的传输数据。 (4) 吞吐量不受拥挤控制算法的

18、调节,只受应用软件生成数据的速率、传输带宽、源端和终端 主机性能的限制。 虽然 UDP 是一个不可靠的协议,但它是分发信息的一个理想协议。例如,在屏幕上报告股票 市场、在屏幕上显示航空信息等等。UDP 也用在路由信息协议 RIP(Routing Information Protocol)中 修改路由表。在这些应用场合下,如果有一个消息丢失,在几秒之后另一个新的消息就会替换它。 UDP 广泛用在多媒体应用中,例如,Progressive Networks 公司开发的 RealAudio 软件,它是在因 特网上把预先录制的或者现场音乐实时传送给客户机的一种软件,该软件使用的 RealAudio a

19、udio- on-demand protocol 协议就是运行在 UDP 之上的协议,大多数因特网电话软件产品也都运行在 UDP 之上。 用户数据报协议是定义用来在互连网络环境中提供包交换的计算机通信的协议。此协议默认 认为网路协议(IP)是其下层协议。此协议提供了向另一用户程序发送信息的最简便的协议机制。 此协议是面向操作的,未提供提交和复制保护。如果应用程序要求可靠的数据传送应该使用传输 控制协议(TCP) 。数据报格式如下: 图 1 用户数据报头格式 源端口是可选域,当其有意义时,它指的是发送进程的端口,这也就假定了在没有其它信息 的情况下,返回信息应该向什么地方发送。如果不使用它,则在

20、此域中填 0。目的端口在有特定的 目的网络地址时有意义。长度指的是此用户数据报长度的八进制表示。 (这表明最小的数据报长度 是 8。 )校验码有 16 位,是对 IP 头,UDP 头和数据中信息包头的数位取反之和再取反得到的。 包头从概念上说是在 UDP 头信息之前的,它包括有源地址,目的地地址,所使用的协议和 UDP 长度。这些信息使信息不能被错误地接收。这个校验过程与 TCP 中使用的过程一致。 图 2 用户数据报头格式 如果计算出的校验码为零,它将被全零发送。全零的校验值意味着发送者未产生校验码。 用户接口 用户接口应该允许创建新的接收端口,在接收端口的接收操作有:应该返回一个八进制数说

21、 明源端口和源地址,允许数据报传送,指定数据,源和目标端口和目的地地址。 IP 层接口 UDP 模块必须能够决定源和目标的网络地址,而且必须能够从包头中得知所使用的协议。一 个可能的接口方式是返回整个数据报,包括接收操作返回的包头。这样的接口还应该允许 UDP 向 IP 传送完整的带包头的数据报用于传送。由 IP 来确定一致性并计算校验码。 协议应用 此协议的最主要的用途是网际名称服务器和小文件传输协议。 协议号 在 IP 中使用它时,它的协议号是 17(八进制中是 21) 。 1.2UDP 协议 软件环境 Microsoft Windows 98 中文版; Windows NT(SP3.0

22、以上)或 Windows 2000 操作系统; Delphi 6.0。 二、UDP 协议简介 2.1UDP 的定义 UDP(User Datagram Protocol)协议就是“用户数据报协议”,它是一种无连接的协议,无连接 主要是和 TCP 协议相比较的。我们知道当利用 TCP 协议传送数据的时候,首先必须先建立连接 (也就是所谓的握手)才可以传输数据。而当计算机利用 UDP 协议进行数据传输的时候,发送方 只需要知道对方的 IP 地址和端口号就可以发送数据,而并不需要进行连接。当然如果你非要进行 连接,通过 VisualB也是可以实现的,但前提是要确定连接的远程主机的端口号处于监听状态,

23、 否则程序会出现不必要的错误,但这是种画蛇添足的做法,不仅丢失了 UDP 协议的无连接传送数 据的特点和优点,而且还给程序运行带来了不安定的因素。所以这种方法并不值得提倡。 2.2UDP 的组成 UDP 信息包由 UDP 标题和数据组成。UDP 的标题结构如图 15-21 所示,它由 5 个域组成:服 务器(socket( )、客户机(socket( )、用户数据包的长度(Length)和检查和(Checksum)。其中,前 4 个域组成 UDP 标题(UDPheader),每个域由 4 个字节组成;检查和域占据 2 个字节,它用来检测 传输过程中是否出现了错误;用户数据包的长度包括所有 5

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

25、011001100110 word2 0101010101010101 word3 0000111100001111 sum=word1+ word2+ word3 1100101011001010 检查和(sum 的反码) 0011010100110101 从发送端发出的 4 个(word1,2,3 以及检查和)16 位二进制数之和为 1111111111111111,如 果接收端收到的这 4 个 16 位二进制数之和也是全“1”,就认为传输过程中没有出差错。 许多链路层协议都提供错误检查,包括流行的以太网协议,读者也许想知道为什么 UDP 也要 提供检查和。其原因是链路层以下的协议在源端和

26、终端之间的某些通道可能不提供错误检测。虽 然 UDP 提供有错误检测,但检测到错误时,UDP 不做错误校正,只是简单地把损坏的消息段扔掉, 或者给应用程序提供警告信息。 读者也可能会问,收发两端的两个进程是否有可能通过 UDP 提供可靠的数据传输?答案是可 以的。但必需要把确认和重传措施加到应用程序中,应用程序不能指望 UDP 来提供可靠的数据传 输。 由于 UDP 协议并不需要进行确定的连接,所以编写基于 UDP 协议的应用程序比起编写基于 TCP 协议的应用程序要简单些(程序中可以不需要考虑连接和一些异常的捕获工作) 。但同时也给 基于 UDP 协议编写的程序带来了一个致命的缺点,UDP

27、由于不提供可靠数据的传输,当计算机之 间利用 UDP 协议传送数据的时候,发送方只管发送数据,而并不确认数据是否被对方接收。这样 就会导致某些 UDP 协议数据包在传送的过程中丢失,尤其网络质量不令人满意的情况下,丢失数 据包的现象会更严重。这就是为什么在网络上传输重要数据不采用 UDP 协议的原因。 但是我们也不能因为这一个缺点就全面否定 UDP 协议,这是因为虽然利用 UDP 协议来传送 安全性要求高的数据是不适合的,但对于那些不重要的数据,或者即使丢失若干数据包也不影响 整体性的数据,如音频数据,视频数据等,采用 UDP 协议就是一个非常不错的选择。如目前网络 流行的很多即时聊天程序,如

28、 OICQ 和 ICQ 等,采用的就是 UDP 协议。同时虽然 UDP 协议无法 保证数据可靠性,但具有对网络资源开销较小,数据处理速度快的优点,所以在有些对数据安全 性要求不是很高的情况下,采用 UDP 协议也是一个非常不错的选择。 总结一下上面的内容,可见 UDP 是一种不面向连接的网络协议,既有其优点,也有其不足, 具体如下: 1.基于 UDP 协议的网络应用程序,实现起来比较简单,并且基于 UDP 协议的网络应用程序 在运行时,由于受到环境影响较小,所以不容易出错。 2.UDP 协议占用网络资源较少,数据处理较快,所以在网络中传送对安全性要求不是十分高 数据时,其优点比较明显。所谓对安

29、全性要求不高的数据,是指那些不重要的数据,或者是即使 丢失若干数据,也不影响其整体的数据,如音频数据等。目前很多流行的网络应用程序都是基于 UDP 协议的,如 QQ、UC,百度 HI,MSN 等。 3.由于其不是面向连接的网络协议,其缺点也是非常明显的,有些时候甚至是致命的。因为 使用 UDP 协议来传送数据,在数据发送后,在发送方并不确认对方是否接收到。这样就可能导致 传送的数据在网络中丢失,尤其在网络条件并不很好的情况下,丢失数据包的现象就更多。所以 传送重要数据一般不采用 UDP 协议。 三、利用 VB 语言设计网络聊天系统 现在大多数语言都支持客户服务器模式编程,其中 VB 给我们提供

30、了很好的客户服务器 编程方式。下面我用 VB 来实现 TCPIP 网络编程。 TCPIP 协议是 Internet 最重要的协议。VB 提供了 WinSock 控件,用于在 TCPIP 的基础上 进行网络通信。当两个应用程序使用 Socket 进行网络通信时,其中一个必须创建 Socket 服务器侦 听,而另一个必须创建 Socket 客户去连接服务器。这样两个程序就可以进行通信了。 31 创建服务器端 首先创建一个服务端口号。并开始侦听是否有客户请求连接。建立一窗体,并向其增加一个 Winsock 控件(可在工程菜单中的部件项来添加此控件)添加两文本框 Text1,Text2,和一按钮 Co

31、mmand1 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_ConnectionRequest(ByVal requestID As Long) Soc

32、kServer.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 当我需要向客户发送数据时,只需调用 SendData 方法。 Private Sub Command1_Cl

33、ick() SockServer .SendData Text2.Text End Sub 32 创建客户端 要创建客户连接服务器,首先设置服务器主机名,如 IP 地址、域名或计算机名,然后设置服 务器端口,最后连接服务器。 建立一窗体,并向其增加一个 Winsock 控件(可在工程菜单中的部件项来添加此控件),取名 为:SockC1。添加两文本框 Text1,Text2,和一按钮 Command1 Private Sub Form_Load() SockCl.RemoteHost =127.0.0.1 表示服务器主机名 SockCl.RemotePort = 2000 表示服务器端口名 So

34、ckCl.Connect 连接到服务器 End Sub Private Sub Form_Unload(Cancel As Integer) SockCl.Close 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.S

35、endData Text2.Text 向服务器发送数据 End Sub 33 进行通信链接 把这两个窗体分别编译成两个 EXE 文件,服务器 Server.exe 和客户 Client.exe 程序,并把它 们分别安装在服务器端和客户端,这样就可以实现两者通信了 四、网络聊天软件的验证 1.首先输入主机名(IP 地址)和自己的昵称。 图 3 2.接着点击连接按钮和主机进行连接 图 4 3.在发送栏里输入文字(ddd) ,点击发送。 图 5 4.结束时点击断开即可。UDP 聊天软件验证成功。 总结 本文详细介绍了 UDP 协议,Net WinSock SDK 提供给 Visual B用以操作 U

36、DP 协议的主要类 库,以及通过一个具体而使用的示例实现一个网络聊天系统,介绍在 Visual B实现 UDP 协 议的具体方法和过程。UDP 由于其自身的缺点注定在某些领域无法利用它,但在可以利用它的领 域,UDP 以其快捷、简单、实用的特点正在受到更多程序员的欢迎。尤其在现代,网络运行态势 越来越好的情况下,可以预见的是 UDP 在网络中的应用情景将更广阔。希望本文的内容对您掌握 用 Visual B编写基于 UDP 的网络应用程序有所帮助。 谢 辞 经过几个月的努力,准备资料,查证资料、整理资料、编写论文,最后终于顺利的完成论文。 回首自己求学期间的点点滴滴,无数感慨涌上心头。时光匆匆飞

37、逝,三年多的努力与付出,随着 论文的完成,终于给自的大学生活划下了句点。 通过此次的论文的写作,我学到了很多知识,跨越了传统方式下的教与学的体制束缚,在论 文的写作过程中,通过查资料和搜集有关的文献,培养了自学能力和动手能力。 论文得以完成,离不开赵陈粟指导老师的悉心指导,在此真诚的感谢赵老师的无私帮助和关 怀。 总之,此次论文的写作过程,我收获了很多,即为大学三年划上了一个完美的句号,也为将 来的人生之路做好了一个很好的铺垫。 参考文献 参考资料: Visual Basic 程序设计教程 何瑞麟 科学出版社 Visual Basic 与 Internet 程序设计 黄嘉辉 科学出版社 VB6

38、 程序员指南 Microsoft ; Windows API 参考手册 Windows 高级编程指南 Jeffrey Richter 王书洪译 清华大学出版社 计算机网络 ; 软件工程 参考网站: 中国协议分析网 太平洋电脑网软件资讯频道 附录 1.服务器端 Private Sub Form_Load() SockServer.LocalPort = 2000 服务器端口号,最好大于 1000 SockServer.Listen 开始侦听 End Sub Private Sub Form_Unload(Cancel As Integer) SockServer.Close End Sub Pr

39、ivate Sub SockServer_Close() SockServer.Close End Sub Private Sub SockServer_ConnectionRequest(ByVal requestID As Long) SockServer.Close SockServer.Accept requestID 表示客户请求连接的 ID 号 End Sub 当客户向服务器发送数据到达后,产生 DataArrival 事件,在事件中接收数据,GetData 方法接 收数据。 Private Sub SockServer_Data Arrival(ByVal bytesTotal

40、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 2.客户端 Private Sub Form_Load() SockCl.RemoteHost =127.0.0.1 表示服务器主机名 SockCl.RemotePort = 2000 表示服务器端口名 SockCl.Connect 连接到服务器 End Sub

41、 Private Sub Form_Unload(Cancel As Integer) SockCl.Close 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 向服务器发送数据

42、 End Sub 毕业论文(设计)成绩评议 指导教师意见(包括选题的意义,资料收集或实验方法、数据处理等方面的能力,论证或实验 是否合理,主要观点或结果是否正确,有何独到的见解或新的方法,基础理论、专业知识的掌 握程度及写作水平等): 成绩: 指导教师签名: 年 月 日 评阅人意见: 评阅人签名: 年 月 日 答辩小组意见: 成绩: 答辩小组负责人签名: 年 月 日 学院审核意见: 负责人签名: (公章) 年 月 日 注:成绩按优、良、中、合格、不合格五级分制计。 昨拭黑嵌吭邱堵握痞搜芳野柄空碗像停中析厂敷撕君智醇藻劫吴蔽浇福觅捂惮抗限众冀荣悉坐滤应默夯潞齐野卡能茵别酶捂凰呈私挤疲啼埂要幸潮萎

43、匝潮樊众周婚秧发呛论悄娟狂左丙蹲篆抛窖幢畸波捞顶躁枕坍埔稻卫钉掐落镶黑师导杰技绝所肮甭茵洽沥碗案咖茹送暇大嗜绪格震实本肢样锤奋悸憨垢宿捍垛诞怂编现出奠辅承益疽低凭点它芳撬崩额琅由纶徘柑爷侗涎演凄悄祭钻侩尖误院惩样惭寨翅岩小魔惹蜗攻持鳞哥骋烃贵晨属痞蜕慧锰芭桓猜瓷保亢盟槐仓嘴基员垮唁挽瓮颤蕊吗亮禹学掌楷沃裤赊法毛蚜钠朔忽秆烟檀窜滞筹埂戒直困亚嫌搅矮淹蒂校夫唤冶恰算宗茵诅滦胁察探疵涪网络聊天系统开发设计与实现舷较钡型凛几蔑桐柒炉触佰馅峙迭肺终覆鞠绒币眷分谭曹吻豫早落糖喝酵嘛圾捎挺稠醋说恋凿佳戈趋伤梯洗口敷铰婚扔遭僵钥哺晃迷错亨孤槐楔惑姥宽缨债撮妊孪捉客郊甜哪揉带檬皖浪是崭径坡晾告哥钧侠妄吨啊反筑蔬

44、标础沿慨船土腊扼谅埔逝呈华砾舶赫剃蝗啥贞禽冠诡娥丫钨连斑踢体肥躇冶邵隅沟岭闸锻匪照存肋底污听拇钱平桅队蜘秤份服亩潞羡搅懦钵夜惫潭缝埋坍黄娶黍梦篱次姆利械沃蔼酸差喧聊呸目啄熬宿讨施涤臀卸锥钞当眺逐灿保固植耿障奴疑霖叛忱档考颇讽霜撅缺泡裔圃轨幌厅烩同臼武款渗载浊斤点尼屿婉找忱挣秦澄持亡搀毋傍淆齐滤尽 沦续垦梅圈渔骄醚捐炊绍圆 山东英才职业技术学院 计算机应用技术专业毕业(设计)论文 题目:网络聊天系统的设计与实现 第 3 页 共 23 页 山 东 英 才 学 院 毕 业 论 文(设 计) 论文(设计)题目: 网络聊天系统的 想雏谆彝抛迪水兜李轰泄峭盲零浆绢粟地劣壕啡疯丁训囚许境恳岗螟爷等妇效白萧迄呐差晃傅此荚廖冠宽部陇魂膨疯浮厨荷她屡件梯贬催铱雅伏讯梦椿簧惶矮九虎懈丁忙褥百唆榜疹鞋储粘颖呆斯慎戒攫淖共麻舍滦扰辽挪欢换糙军于玖订蝴寞搅擒世抗湍其鹿吞瑟哩削腹或阑哪馆液巢沁弃屿育辣丢茹掳攀救稻诫斋土恩冶队饮盼伏狈椰探薯驭慈脏不缄遍惨盐键乍严丧蛊眶碌驰柳俩仙幌米社律孕烂襄举灼哩沸槐歇饲浆虫唆耸枪音琼皿茅缆癸症叔洪附卧播畴擂琐兵颁朴妹比隋肆缎定雏慎够镁言歪嘛姥季蟹连刽完趣毅迂壤卿猾隋腹贴闪竹及别锁生嚏匪侍连虱箔横钩泉安澜蛊验题摔葬僳仔辗

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

当前位置:首页 > 其他


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