




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机网络课程实习报告 目录基于c/s结构的聊天应用程序一、 课程设计的内容。二、 课程设计的软、硬件条件。三、 程序设计步骤。三、 课程设计小结。五、 参考文献。六、 附件。关键词:c/s结构、聊天程序摘要:在互联网飞速发展的今天,网络已成为人们生活中不可缺少的一部分,无论是在商业、工业还是政府部门中都早已普及开来,如今就连教育事业也都承载着网络这四通八达的命脉迅速的发展起来。基于c/s结构的网络聊天程序如雨后春笋般冒出,如icq、qq、msn message等网上寻呼软件,我们用vb编一个简单的c/s结构聊天软件来了解网上寻呼软件的工作原理。一、课程设计内容内容:编写基于c/s结构的聊天应用程序。二、课程设计的软、硬件环境硬件环境:cpu:amd borton 2500+,内存:512m,网卡:realtek rtl8139,microsoft virtual pc 2005(windows2000操作系统)。软件环境:windowsxp sp2操作系统, microsoft visual basic 6.0。三、课程设计步骤原理:网络聊天工具需要通过tcp/ip协议,因此可以把网络聊天程序分为服务器端和客户器端两部分。其中,服务器端用以把程序转换成一个虚拟的 tcp/ip 服务器。并且和指定的客户机建立连接,在连接成功后,向指定的客户器发送和接收数据;客户器端把程序转换成一个虚拟的tcp/ip 客户器,并且向指定的服务器发出连接信号,在连接成功后,向指定的服务器发送和接收数其中tcp/ip协议以包含在控件的属性中,因此只要正确填入属性(ip地址,端口),便可实现网上通讯。本程序是基于c/s构架的聊天程序,提供局域网内多人进行聊天的功能。程序分为两个部分,即服务器程序和客户端程序。利用vb编写程序实现。1.实验预备知识介绍:1.winsock控件简介:1)tcp/ip技术的核心部分(传输层、互联层和网络接口层)通常在操作系统的内核中实现。2)socket调用:tcp/ip网络操作系统提供的典型网络编程界面。windows、unix、linux等都支持socket。microsoft visual c+:socket被封装成类(casyncsocket和csocket)。microsoft visual basic:socket以winsock控件的方式出现。3)winsock控件:主机之间利用tcp通信:(本课程采取的通信方式)客户程序:remotehost属性、remoteport属性、connect方法服务器程序localport属性、listen方法、connectionrequest事件、accept方法。发送和接收数据senddata、dataarrival事件、getdata方法2.设计思想:服务器程序的实现过程是: (1)服务器程序必须设置好localport属性,作为侦听端口,该值为一个整数(只要是一个其它tcp/ip应用程序没有使用过的值即可)。 (2)使用listen方法进入侦听状态,等待客户机程序的连接请求。 (3)客户机程序发出连接请求,使服务器程序产生connectionrequest事件,该事件得到一个参数requestid。 (4)服务器程序用accept方法接受客户机程序的requestid请求。这样,服务器程序就可以用senddata方法发送数据了。accept方法必须用上一步得到的requestid作为其参数。 (5)当服务器程序接收到数据时,产生dataarrival事件,参数bytestotal包含接收到的数据字节数。在该事件中,可以用getdata方法接收数据。 (6)如果接受到close事件,则用close方法关闭tcp/ip连接。 客户机程序的实现过程是: (1) 客户程序设置remotehost属性,以便指定运行服务器程序的主机名,该字符串可在“控制面板|网络|标识|计算机名”中查到。 (2) 设置remoteport属性,以便指定服务器程序的侦听端口。 (3)使用connect方法,向服务器提出连接请求。 (4)服务器接受客户机程序的请求,客户机程序产生connect事件,就可以用senddata方法发送数据了。 (5)当客户机程序接收到数据时,产生dataarrival事件,参数bytestotal包含接收到的数据字节数。在该事件中,可以用getdata方法接收数据。 (6)如果接受到close事件,则用close方法关闭连接。 winsock控件还有两个重要的属性,即protocol和state。protocol设定使用的协议是tcp还是udp:取值scktcpprotocol表示tcp, 取值sckudpprotocol则表示udp。因为winsock控件的缺省设置是sck protocol,所以程序中并没有使用protocol属性。state属性反映的是当前tcp/ip的连接状态,取值如表1所示。 表1 winsock控件的state属性及其描述常数值描述sckclosed0缺省值,关闭。sckopen1打开。scklistening2侦听sckconnectionpending3连接挂起sckresolvinghost4识别主机。sckhostresolved5已识别主机sckconnecting6正在连接。sckconnected7已连接。sckclosing8同级人员正在关闭连接。sckerror9错误。客户端和服务端设计、运行界面如下:1)服务器程序的编写2)客户端程序的编写:3)日志文件的编写4)运行结果显示:四、课程设计小结通过本次编写基于c/s结构的聊天应用程序的课程设计,本人掌握了数据通信与计算机网络的基本概念、基本知识和基本技术;能够做简单的网络,能够使用常用的网络工具软件维护网络;通过使用vb语言编制网络软件,加深了对该语言的了解和使用,熟悉了网络软件的设计方法,并且通过观察数据的传输过程进一步理解计算机网络体系结构及其应用技术;达到了课程设计的基本要求。五、参考文献1 计算机网络实验指导 计算机网络课程设计农大计算机学院2 visual basic 工程应用实例- 张显库 编著六、附件利用winsock控件编写简单的客户-服务器的源代码一、服务器程序private sub txtout_change()for i = 1 to num if tcpserver(i).state sckclosed then tcpserver(i).senddata txtout.textend ifnext iend subprivate sub txtsend_keyup(keycode as integer, shift as integer)if keycode = 13 then for i = 1 to num if member(i) = 0 then exit sub else if tcpserver(i).state = sckclosed then exit for else tcpserver(i).senddata server: & txtsend.text rtbsave.text = rtbsave.text + txtsend.text end if next i rtbsave.selstart = len(rtbsave.text) rtbsave.text = rtbsave.text + chr(10) + txtsend.texttxtsend.text = end ifend sub二、客户端程序:dim newclient as booleanprivate sub cmdconnect_click()on error goto errhandle:tcpclient.remotehost = txthost.texttcpclient.remoteport = txtport.texttcpclient.connectnewclient = trueexit suberrhandle: msgbox err.descriptionend subprivate sub command1_click()end subprivate sub command2_click()end subprivate sub command3_click()end subprivate sub cmdexit_click()unload frmclientend subprivate sub cmdlogin_click()load frmclientloginfrmclientlogin.showend subprivate sub cmdquit_click()on error goto errhandle:tcpclient.senddata q & lblname.caption & cstr(now()exit suberrhandle: msgbox err.descriptionend subprivate sub form_load()txthost.text = 166.111.162.179txtport.text = 5000me.cmdconnect.enabled = falseme.cmdquit.enabled = falseend subprivate sub form_queryunload(cancel as integer, unloadmode as integer)frmwebbroswer.showend subprivate sub tcpclient_connect()txtout.locked = falsetcpclient.senddata / + lblname.captionend subprivate sub tcpclient_dataarrival(byval bytestotal as long)dim sdata as stringif newclient thenmsgbox has connected successfullynewclient = falseend iftcpclient.getdata sdatartbin.text = rtbin.text + sdatartbin.selstart = len(sdata)if sdata = you can quit. thentcpclient.closeend ifend subprivate sub toolbar1_buttonclick(byval button as mscomctllib.button)select case button.key case is = connect cmdconnect_click case is = login cmdlogin_click case is = quit cmdquit_click case is = save cmdsave_click end selectend sub private sub txtout_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车辆交付保障方案(3篇)
- 品牌标识改动方案(3篇)
- DB23-T3039-2021-灵芝液体菌种制备技术规程-黑龙江省
- DB23-T2962-2021-天然鳞片石墨石墨化度测定方法-黑龙江省
- 学校健全机构管理制度
- 对外形象维护管理制度
- 工厂老化车间管理制度
- 工厂地磅司磅管理制度
- 办公家具公司管理制度
- 公司林地生产管理制度
- 掘进工作面质量标准化细化标准实施方案
- 2025年春统编版初中道德与法治八年级下册(全册)教学设计及反思(附教材目录P210)
- 隐形股份合同协议
- 《自然选择的证明》 统编版高二语文选择性必修下册
- 档案管理员核心能力试题及答案
- 省煤器安装方案
- GB/T 45298-2025土壤制图1∶25 000~1∶500 000土壤质地、酸碱度、盐渍化图的图式、用色及图例规范
- 江苏省南通市南通第一中学2025届高考英语试题(英语试题)预测押题密卷I卷(全国1卷)含解析
- 音乐情绪识别技术-深度研究
- 北师大版五年级数学下册第七单元用方程解决问题单元检测(含答案)
- 2025年江西赣州城投工程管理有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论