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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

使用VB设计方案聊天室多点对多点网络程序设计方案.docx

1、使用VB设计方案聊天室多点对多点网络程序设计方案课 程 设 计 任 务 书 9.多点对多点网络程序设计,根据网络数据传输原理设计聊天室软件,具体要求: 1) 学习计算机网络连接原理; 2) 学习网络数据传输的基本原理; 3) 学习网络连接的底层协议; 4) 设计聊天室软件; 5) 面向用户的操作界面; 6) 具有文件共享功能。 目录一、设计目的 1二、设计任务与要求 1三、开发软件介绍 1四、设计内容 41、设计框架 42、设计程序 53、运行结果 12五、设计总结 15六、设计心得 16七、参考文献 16一、设计目的通过本课程设计的学习,学生将复习所学的专业知识,使课堂学习的理论知识应用于实

2、践,通过本课程设计的实践使学生具有一定的实践操作能力,为学生完成毕业设计任务打下基础。 二、设计任务与要求 多点对多点网络程序设计,根据网络数据传输原理设计聊天室软件,具体要求:1) 学习计算机网络连接原理; 2) 学习网络数据传输的基本原理; 3) 学习网络连接的底层协议; 4) 设计聊天室软件; 5) 面向用户的操作界面; 6) 具有文件共享功能。三、开发软件介绍微软公司的Visual Basic 6.0是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也

3、简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统VB是一个相对较好的选择。在 Visual Basic 中,可通过属性、方法和事件来说明和衡量一个对象的特征:事件(Event)事件是指发生在某一对象上的事情。事件又可分为鼠标事件和键盘事件。例如,在命令按钮(Command Button)这一对象上可能发生鼠标单击(Click)、鼠标移动(Mouse Move)、鼠标按下(Mouse Down)等鼠标事件,也可能发生键盘按下(Key Down)等键盘事件。总之,事件指明了对象“什么情况下做?”,常用于定义对象发生某种反映的时机和条件。方法(Method)方法是用来

4、控制对象的功能及操作的内部程序。例如,人具有说话、行走、学习、睡觉等功能,在visual Basic中,对象所能提供的这些功能和操作,就称作“方法”。以窗体为例,它具有显示(show)或隐藏(hide)的方法。总之,方法指明了对象“能做什么?”,常用于定义对象的功能和操作。属性(Property)属性是指用于描述对象的名称、位置、颜色、字体等特征的一些指标。可以通过属性改变对象的特性。有些属性可以在设计时通过属性窗口来设置,不用编写任何代码;而有些属性则必须通过编写代码,在运行程序的同时进行设置。可以在运行时读取和设置取值的属性成为读写属性,只能读取的属性成为只读属性。总之属性指明了对象“是什

5、么样的?”,常用于定义对象的外观。如同上面的内容所描述的,不论您使用UDP协议或是TCP协议,Winsock控件都可以允许与远程的设备连接,并且在相互之间交换数据。因此,依据上面的面熟而言,不论您使用的是哪一种协议都可以扮演主机端和客户端的角色。同时,当您在使用Winsock控件的过程中,这个控件不会显示在正在执行的窗体之中。换句话说,Winsock控件是在后台运行的一种控件。在执行过程之中,不会具有任何选用、可见的控件。那么该如何使用Winsock控件呢?它可以被应用在那些类型的应用程序之中呢?以下所列出的内容,是这个控件可以应用的大致范围:*将客户端所收集的数据,传送给主机端。*聊天和文件

6、传输室应用程序。*电子公告栏。*voip(voice over TCP/ip)VB winsock介绍Winsock是Mcrosoft windows提供的网络编程接口,它供了基于TCP/IP协议接口实现方法.通过网络进行的数据通信,需要用地址来表示网络中的主机.TCP/IP协议使用IP地址来作为主机的标识.实现的连接方式是通过IP地址来识别的.通常情况下每台设备运行的不止一个程序,所以为了使用应用程序间的连接,还需要建立一个地址标识.在TCP/IP中使用端口来作为标识号(PORT).IP地址+端口地址.TCP:实现提供双向,有序无从复的数据流服务,流量控制+差错检测+纠错等功能.1.VB控件

7、winsock是个运行中不可件的控件,常用属性如下:byte received 接收到的字节数local hostname 本地机器名Local IP 本地IP地址Local port 本地通信程序的端口Remote host 远程机器名Remote host IP 远程IP地址Remote port 远程通信程序端口Socket handle 提供调用API得句柄参数State 连接得当前状态Protocol 使用协议Bytereceived:反应接收到得数据量,以字节为单位。State:返回当前连接状态0 关闭状态1 打开状态2 监听状态3 连接挂起4 解析域名5 正在连接6 以建立连接7

8、 正在关闭8 出错2.控件accept接受一个连接请求。格式:对象.accept request IDbind:多协议接口下,把接口卡,IP地址捆绑再一起。格式:对象。Bina端口号,ip地址close:关闭连接。格式:对象。Closeconnect:发送连接请求。格式:对象。Connectip,远程端口getdata:取出数据后清除缓冲区。Peekdata:取出数据后不清楚缓冲区。格式:对象。Getdata(peekdata)变量,数据类型,最大长度Listen:侦听。格式:对象。ListenSenddata:发送数据。格式:对象。Senddata3控件事件Close 远程设备关闭连接时触发

9、事件Connect 建立连接,进行通信时触发Connectrequest 有连接请求时触发Data arrival 有数据到达时触发Error 错误时触发Send complete 完成一次数据传送触发Send progress 数据传送进度四、设计内容1、设计框架2、设计程序服务端:Option Explicit /强制声明变量Private Sub Command1_Click()If tcp.State = 7 And Text2.Text Then /winsock=7表示已连接 tcp.SendData Text2.Text /发送数据 Text1.Text = Text1.Text

10、 & 本机: & Text2.Text & vbCrLf /显示自己发送的信息,换行显示 Text2.Text = /文本清空 Text2.SetFocus /设置焦点 End IfEnd SubPrivate Sub Command2_Click()Dim Form2 As New Form2 /定义数据传输窗口Form2.Show /显示数据传输窗口End SubPrivate Sub Form_Load()tcp.LocalPort = 8888 /本地监听端口为8888tcp.Listen /开始监听End SubPrivate Sub tcp_ConnectionRequest(By

11、Val requestID As Long) /连接请求If tcp.State 0 Then tcp.Close /如果不是关闭状态,关闭跳 tcp.Accept requested /接收请求ID End SubPrivate Sub tcp_DataArrival(ByVal bytesTotal As Long) /对方数据到达Dim strdata As String /定义字符串型 tcp.GetData strdata /获取数据传递给变量strdata Text1.Text = Text1.Text & 客户端: & strdata & vbCrLf /发送过来的信息,换行显示

12、End Sub图3 编辑服务端主窗口客户端:Option Explicit /强制声明变量Private Sub Command1_Click()If tcp.State = 7 And Text2.Text Then /winsock=7表示已连接 tcp.SendData Text2.Text /发送数据 Text1.Text = Text1.Text & 本机: & Text2.Text & vbCrLf /显示自己发送的信息,换行显示 Text2.Text = /文本清空 Text2.SetFocus /设置焦点End If End SubPrivate Sub Command2_Cl

13、ick()Dim Form2 As New Form2 /定义数据传输窗口Form2.Show /显示数据传输窗口End SubPrivate Sub tcp_DataArrival(ByVal bytesTotal As Long)Dim strdata As String /定义strdata为字符串 tcp.GetData strdata /接收数据 Text1.Text = Text1.Text & 服务端: & strdata & vbCrLf /在文本框显示消息,换行显示End SubPrivate Sub zyq2_Click()Dim p, myip As String /定义

14、p,myip为字符串p = InputBox(输入对方的端口) /输入端口号myip = InputBox(输入对方的IP) /输入IPtcp.RemotePort = p /设置端口tcp.RemoteHost = myip /设置IPtcp.Connect /连接End Sub图4 编辑客户端主窗口传输窗口(服务端):Option ExplicitPrivate Sub cmdSend_Click() Dim FName_Only As String If txtFileName = Then MsgBox 你没有选择要发送的文件., vbCritical Else If frmServe

15、r.tcpServer.State sckClosed Then FName_Only$ = GetFileName(txtFileName) SendFile FName_Only$ End If End IfEnd Sub主要作用:发送用户选择的文件。Private Sub Form_Load() tcpServer.LocalPort = Port tcpServer.Listen bInconnection = False Status 侦察. (没有连接)End Sub主要作用:设置连接端口并侦察网络。Private Sub Form_Unload(Cancel As Integer

16、) SendData 服务器关闭, Pause 500 tcpServer.Close EndEnd SubPrivate Sub tcpServer_Close() If tcpServer.State sckClosed Then tcpServer.Close Form_Load End SubPrivate Sub tcpServer_ConnectionRequest(ByVal requestID As Long) On Error GoTo IDERROR If tcpServer.State sckClosed Then tcpServer.Close tcpServer.Ac

17、cept requestID bInconnection = True Status 侦察. 连接. SendData Accepted, Exit SubIDERROR: MsgBox Err.Description, vbCriticalEnd Sub主要作用:判断是否接收信息。Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long) Dim Command As String Dim NewArrival As String Dim Data As String Static DataCnt As Long tcpServer

18、.GetData NewArrival$, vbString Command = EvalData(NewArrival$, 1) Data$ = EvalData(NewArrival$, 2) Select Case Command$ Case OpenFile open the file Dim Fname As String Fname$ = App.Path & & Data$ Open Fname$ For Binary As #1 Status 文件打开. & Data$ Case CloseFile close the file Close #1 Status 文件传输. Pa

19、use 3000 Status 侦察. (连接) Case Else a 4169 byte string of incoming data Put #1, , NewArrival$ txtView = txtView & NewArrival$ DataCnt& = DataCnt& + 1 Status Recieving Data. & (MAX_CHUNK * DataCnt&) & bytes End SelectEnd Sub主要作用:文件传输。Private Sub cmdBrowse_Click() cdOpen.ShowOpen If Not vbCancel Then t

20、xtFileName = cdOpen.FileName End IfEnd Sub主要作用:通过通用对话框打开需要传送的文件。图5 编辑服务端文件传输窗口传输窗口(客户端):Private Sub cmdConnect_Click() bReplied = False tcpClient.Connect Text1.Text, 1256 lTIme = 0 While (Not bReplied) And (lTIme = 100000 Then MsgBox 找不到服务器!, vbCritical, Connection Error tcpClient.Close Exit Sub End

21、 If cmdBrowse.Visible = True cmdSend.Visible = TrueEnd Sub主要作用:实现与服务器的连接。Private Sub cmdSend_Click() Dim FName_Only As String If txtFileName = Then MsgBox 你没有选择要发送的文件., vbCritical Else If tcpClient.State sckClosed Then FName_Only$ = GetFileName(txtFileName) SendFile FName_Only$ End If End IfEnd Sub主

22、要作用:发送文件。Private Sub tcpClient_DataArrival(ByVal bytesTotal As Long) Dim Command As String Dim NewArrival As String Dim Data As String Static DataCnt As Long tcpClient.GetData NewArrival$, vbString Command$ = EvalData(NewArrival$, 1) Data$ = EvalData(NewArrival$, 2) Select Case Command Case Accepted

23、 server accepted connection bReplied = True Status 连接. Case ServerClosed Form_Load tcpClient.Close Case OpenFile open the file Dim Fname As String Fname$ = App.Path & & Data$ Open Fname$ For Binary As #1 Status 文件打开. & Data$ Case CloseFile close the file Close #1 Status 文件发送成功. Pause 3000 Status Connected. Case Else Put #1, , NewArrival$ txtView = txtView & NewArrival$ DataCnt& = DataCnt& + 1 Status 接收数据. & (MAX_CHUNK * DataCnt&) & bytes End SelectEnd Sub主要作用:判断连接状态。图6 编辑客户端文件传输窗口3、运行结果图7 运行客户端主窗口图8 客户端进行连接图9 输入服务端端口号图10 输入服务端IP地址五、设计总结六、设计心得七、参考文献

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

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