ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:131.21KB ,
资源ID:19595311      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19595311.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(水信息网络传输技术课程设计报告文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

水信息网络传输技术课程设计报告文档格式.docx

1、整个程序采用Visual Basic 6.0来实现,由于在水信息计算机应用技术和水信息网络传输技术中,我们系统地学习了Visual Basic编程语言和计算机网络方面的相关知识,所以这次设计也是对前期学习成果的一次“实战检验”。2 .设计依据及用户界面该设计中所涉及到的网络通信协议主要是TCP/IP协议。TCP/IP协议是以传输控制协议TCP(Transmission Control Protocol)和网际协议IP(Internet Protocol)为核心的一组协议。TCP/IP协议自1974年诞生以来,逐步投入实际网络应用中,在1980年被加入UNIX内核,1983年1月1日又成为ARP

2、net(世界最早采用分组交换技术的广域网络)上唯一的正式协议。现在已经是国际互联网的标准协议。TCP/IP协议采用分组交换通信方式,即两台计算机之间要交换的信息不是作为一个整体进行传输,而是划分成大小基本相同的数据分组,这样的传输方式可以提高效率和安全性。 TCP/IP协议有三个主要的特点:功能丰富、开放性和普遍性。 图-2 TCP/IP参考模型2.1 设计平台设计中所涉及到的计算机编程语言是Visual Basic,程序开发平台采用Visual Basic 6.0。序开发平台采用Visual Basic 6.0。Visual Basic是早期Basic语言的基础上发展起来的一种可视化的Win

3、dows平台上的程序开发工具。最早的VB出现于1991年,即VB 1.0版本。它标志着Microsoft开始将Basci语言向可视化编程方向发展,虽然它的功能极其有限,但却有跨时代的意义。伴随着Windows操作平台的不断成熟,VB版本也不断升级。从1991年秋季推出VB 2.0到1998年秋季推出VB 6.0,短短的几年内VB有了巨大的提高,也一步步更加完善。VB 6.0为满足不同层次的用户需要,提供了三个版本:学习版(Learning)、专业版(Professional)和企业版(Enterprise)。我们主要用的是专业版,专业版包括所有的内部标准控件以及网络、表格和数据绑定等控件还包括

4、ActiveX控件、Internet控件和Crystal Report Writer等开发工具,适用于专业开发人员。2.2 用户界面 该程序设计的界面如图-3所示,风格简洁。图-3 程序设计的界面3.各模块功能及软件开发3.1 各模块功能简介在该程序的设计中,要使用到以下常用控件,见表-1。表-1 常用控件控件名称类型作用frmMainFormCHAT主窗体Winsock1Winsock连接控件Label1Label CONNECT WITH IP标签Label2 LabelLOCAL PORT标签Label3 REMOTE PORT标签txtRemoteIPTextBox 远程IP地址输入框

5、txtLocalPort 本地PORT输入框txtRemotePort远程PORT输入框cmdConnect CommandButton 连接CONNECT按钮Label4Type your text and hit Enter to send it.标签Frame1(remoteip)Frame REMOTE IP 框架Frame2(host ip)FrameHOST IP 框架Text1显示对方(远程主机)发送的CHAT内容Text2 输入己方(本地主机)要发送的CHAT内容,按ENTER键发送cmdClear 清空输入框(TEXT2)和显示框(TEXT1)中的内容StatusBar1St

6、atusBar状态栏常用控件简介窗体控件(Form):窗体(Form)是设计图形用户界面的基本平台,所有的控件都是绘制在窗体上的。程序运行时的每一个窗体对应于程序的一个窗口,是用户与应用程序交互操作的场所。文本框(TextBox):文本框是VB的一个重要控件,可用来显示和输入数据。实质上,文本框控件相当于一个简单的文本编辑器,它具有复制、剪切、粘贴和删除等功能,只不过在文本框中只能输入或显示最大为32768字节(32KB)的字符串。标签框(Label): 标签的功能比较简单,通常用来显示比较固定的提示性信息,不允许用户在程序运行时输入数据。按钮(Command): 命令按钮是Windows 程

7、序中常见的一种命令控制方式,用于接收用户的操作信息,并引发应用程序的某个操作。如同日常生活的按钮一样,当用户用鼠标单击命令按钮或选中命令按钮单击回车键时,就会激活相应的事件过程,所以有时命令按钮也简称为“按钮”。框架(Frame):框架是一种比较特殊的容器控件,常作为辅助性控件使用,可将多个选项按钮或复选框控件按功能分组。当用框架将多个控件划分成一组时,应先在窗体上放置框架,然后再在框架控件内放置其他控件。控件WinSock:该控件是Windows下的应用程序与网络协议之间的标准接口。利用WinSock控件可以与远程计算机建立连接,并通过用户数据文报协议 (UDP)或者传输控制协议 (TCP)

8、进行数据交换。这两种协议都可以用来创建客户与服务器应用程序。与 Timer控件类似,WinSock控件在运行时是不可见的。在本设计中我们用到了以下几个WINSOCK的属性:1) PROTOCOL(控制协议)属性,在本设计中,我们将PROTOCOL属性设置为sckUDPProtocol。2) 属性RemoteHost是远程主机的地址,LocalPort、RemotePort分别本地主机的端口和远程主机端口,对客户来说,该属性指定发送数据的本地端口,而对于服务器来说,这是用于侦听的本地端口,我们在设置这两个属性时必须保证两台主机的端口值符合下面规则,即主机1的LocalPort等于主机2的Remo

9、tePort值,同样主机1的RemotePort等于主机2的LocalPort值,这样才能保证两机通讯的正常进行。3) LocalIP属性用于返回本地机器的 IP地址,格式是IP地址加点的字符串 (xxx.xxx.xxx.xxx)。在本设计中我们用到了以下几个WINSOCK的方法:1) 在创建 UDP 应用程序时调用了 Bind 方法,这是必须的。Bind 方法的作用是为控件“保留”一个本地端口。例如,如果将控件绑定到1001号端口,那么其它应用程序将不能使用该端口进行“监听”。该方法阻止其它应用程序使用同样的端口。2) SendData方法用于发送一条数据给另一台主机,使用这个方法的语法是:

10、WinSock.SendData 要发送的数据3) GetData方法。当DataArrival事件出现时,代码调用GetData方法获取数据,并将数据存储在字符串变量中。使用语法是:WinSock.GetData 接收数据的变量 在本设计中我们用到了以下WINSOCK的事件: DataArrival事件:在本设计中我们使用了DataArrival事件,DataArrival事件在当新数据到达时被触发的事件,使用的语法为: WinSock1_DataArrival (bytesTotal As Long) 变量bytesTotal表示获取的数据总数量。在两个WINSOCK控件中间发送数据,关键

11、要完成以下三步:1、将RemoteHost属性设置为另一台计算机的IP地址。 2、将RemotePort属性设置为第二个控件的LocalPort属性。 3、调用Bind方法,指定使用的LocalPort。3.2 软件开发流程以下介绍软件的编制步骤:1打开Visual Basic 6.0的集成开发环境,创建一个新的标准EXE文件。将缺省的窗体名修改为frmMain,并将其Caption属性修改为“局域网聊天程序”。2. 在窗体中添加一个WinSock控件,在其“属性”页上,单击“协议”,并将协议修改为sckUDPProtocol。尔后陆续添加其他控件(详见3.1节内容),并修改其相应的属性。3编

12、写代码,由于代码较长,这里不再展开叙述,详见附录。4代码编写完成后,将程序生成“Chat.EXE”文件,到此该软件开发完成。4软件调试分析 将“Chat.EXE”程序,分别安装到局域网内的两台计算机上,如图-4所示。图-4 程序调试图按照图中的标注,分别设置A、B两台计算机中Chat.exe程序的各项参数。然后点击“连接”,连接成功后,在程序的状态栏中会显示“连接成功”字样,此时聊天方可进行。图-5软件调试图5设计心得 这次课程设计的核心是熟练掌握VB语言,并将它运用到网络设计中。如何将课本中基本的程序代码,正确灵活得运用到实际程序当中,并能够使其发挥作用,保证程序的正常运行是难点。 在此次设

13、计当中,最常出现的问题就是当运用到哪个控件和代码时,有印象但必须借助课本才能准确书写,又或者在某项任务中,不知该如何选择程序,这都是基本功不扎实的表现。因此,反复巩固vb语言的的基本知识,多动手多动脑是学好vb语言的关键。通过这次课程设计,对vb语言的实际应用有了更加深刻的体验,并且可以将他用到自己的其他专业课程中,这是学以致用的精髓体现。参考文献(1) VB程序设计 胡 闫宏印。北京: 电子工业出版社,2006(宋体 五号)(2) 计算机网络 张增量 李生元。西安: 西安交通大学出版社附 录Option ExplicitPrivate IgnoreText As Boolean-当CLEAR

14、按钮按下时,清空TEXT1和TEXT2中的内容Private Sub cmdClear_Click()On Error Resume NextText1 = With Text2 清空输入框 .Text = 并把焦点置于TEXT2 .SetFocusEnd WithEnd Sub当CONNECT按钮按下时,进行以下操作Private Sub cmdConnect_Click()On Error GoTo ErrHandlerWith Winsock1设置 RemoteHost 属性 .RemoteHost = Trim(txtRemoteIP)设置 RemotePort 属性RemotePor

15、t 属性的值应该等于 远程主机上的 LocalHost 属性的值 .RemotePort = Trim(txtRemotePort) LocalPort 属性的值是不能改变的,必须检查它是否已经被设置如果 LocalPort 属性为空(没有被设置),将其设为在LocalPort输入框中输入的数值 If .LocalPort = Empty Then .LocalPort = Trim(txtLocalPort) Frame2.Caption = .LocalIP这是必须的,Bind 方法的作用是为控件“保留”一个本地端口,防止被其他用户调用。 .Bind.LocalPort End If为了保

16、证使用者不能改变LocalPort的值,将txtLocalPort输入框锁定txtLocalPort.Locked = True在状态栏中显示“正在连接”的状态StatusBar1.Panels(1).Text = Connected to & Winsock1.RemoteHost &如果连接正常,做以下设置Frame1.Enabled = TrueFrame2.Enabled = TrueLabel4.Visible = TrueText2.SetFocusExit Sub如果在连接过程中出现错误,则转向ErrHandler:,并显示错误提示ErrHandler:MsgBox Winsoc

17、k failed to establish connection with remote server, vbCritical当按下“F1”键时显示帮助信息Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = vbKeyF1 ThenChDir App.Path调用外部程序notepad.exe来打开帮助文本文件Shell notepad.exe readme.txt, vbNormalFocusEnd If当窗体加载时显示提示信息并在 txtRemoteIP 框中显示本地主机的IPPrivate

18、Sub Form_Load()ShowWinsock UDT Chat vbCrLf &by Theo Kandiliotis (ionikhhol.gr)F1 for help., vbInformationtxtRemoteIP = Winsock1.LocalIP接收TEXT2输入框的按键,并做响应Private Sub Text2_KeyPress(KeyAscii As Integer)定义变量 Last_Line_Feed 来记录最后输入行的位置Static Last_Line_Feed As Long定义 New_Line 字符串记录新键入的一行文本的内容Dim New_Line

19、 As String如果使用者按下CLEAR按钮对输入框内容清空,这时TEXT2为空,则重设最后输入行的位置为0If Trim(Text2) = vbNullString Then Last_Line_Feed = 0当使用者按下ENTER键时If KeyAscii = 13 Then取得最后输入行的内容并赋值给 New_Line 字符串 New_Line = Mid(Text2, Last_Line_Feed + 1)重设最后输入行的位置 Last_Line_Feed = Text2.SelStart通过 WINSOCK 发送新输入的一行文本的内容 Winsock1.SendData New

20、_Line在状态栏显示发送信息 StatusBar1.Panels(2).Text = Sent (LenB(New_Line) / 2) & bytes 当 WINSOCK 接收到新的数据(信息)时,进行以下响应Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)定义 New_Text 字符串来记录新接收的信息Dim New_Text As String接收信息并赋值给 New_TextWinsock1.GetData New_Text在TEXT1显示框中显示新接收到的信息Text1.SelText = New_TextFrame1.Caption = Winsock1.RemoteHostIP在状态栏中显示接收信息StatusBar1.Panels(2).Text = Recieved bytesTotal &bytes

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1