欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    使用VB设计聊天室-多点对多点网络程序设计.doc

    • 资源ID:11385836       资源大小:211KB        全文页数:15页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    使用VB设计聊天室-多点对多点网络程序设计.doc

    课 程 设 计 任 务 书 9.多点对多点网络程序设计,根据网络数据传输原理设计聊天室软件,具体要求:1) 学习计算机网络连接原理; 2) 学习网络数据传输的基本原理; 3) 学习网络连接的底层协议; 4) 设计聊天室软件; 5) 面向用户的操作界面; 6) 具有文件共享功能。 目录一、设计目的1二、设计任务与要求1三、开发软件介绍1四、设计内容41、设计框架42、设计程序53、运行结果12五、设计总结15六、设计心得16七、参考文献16一、设计目的通过本课程设计的学习,学生将复习所学的专业知识,使课堂学习的理论知识应用于实践,通过本课程设计的实践使学生具有一定的实践操作能力,为学生完成毕业设计任务打下基础。 二、设计任务与要求 多点对多点网络程序设计,根据网络数据传输原理设计聊天室软件,具体要求:1) 学习计算机网络连接原理; 2) 学习网络数据传输的基本原理; 3) 学习网络连接的底层协议; 4) 设计聊天室软件; 5) 面向用户的操作界面; 6) 具有文件共享功能。三、开发软件介绍微软公司的Visual Basic 6.0是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统VB是一个相对较好的选择。在 Visual Basic 中,可通过属性、方法和事件来说明和衡量一个对象的特征:事件(Event)事件是指发生在某一对象上的事情。事件又可分为鼠标事件和键盘事件。例如,在命令按钮(Command Button)这一对象上可能发生鼠标单击(Click)、鼠标移动(Mouse Move)、鼠标按下(Mouse Down)等鼠标事件,也可能发生键盘按下(Key Down)等键盘事件。总之,事件指明了对象“什么情况下做?”,常用于定义对象发生某种反映的时机和条件。方法(Method)方法是用来控制对象的功能及操作的内部程序。例如,人具有说话、行走、学习、睡觉等功能,在visual Basic中,对象所能提供的这些功能和操作,就称作“方法”。以窗体为例,它具有显示(show)或隐藏(hide)的方法。总之,方法指明了对象“能做什么?”,常用于定义对象的功能和操作。属性(Property)属性是指用于描述对象的名称、位置、颜色、字体等特征的一些指标。可以通过属性改变对象的特性。有些属性可以在设计时通过属性窗口来设置,不用编写任何代码;而有些属性则必须通过编写代码,在运行程序的同时进行设置。可以在运行时读取和设置取值的属性成为读写属性,只能读取的属性成为只读属性。总之属性指明了对象“是什么样的?”,常用于定义对象的外观。如同上面的内容所描述的,不论您使用UDP协议或是TCP协议,Winsock控件都可以允许与远程的设备连接,并且在相互之间交换数据。因此,依据上面的面熟而言,不论您使用的是哪一种协议都可以扮演主机端和客户端的角色。同时,当您在使用Winsock控件的过程中,这个控件不会显示在正在执行的窗体之中。换句话说,Winsock控件是在后台运行的一种控件。在执行过程之中,不会具有任何选用、可见的控件。那么该如何使用Winsock控件呢?它可以被应用在那些类型的应用程序之中呢?以下所列出的内容,是这个控件可以应用的大致范围:*将客户端所收集的数据,传送给主机端。*聊天和文件传输室应用程序。*电子公告栏。*voip(voice over TCP/ip)VB winsock介绍Winsock是Mcrosoft windows提供的网络编程接口,它供了基于TCP/IP协议接口实现方法.通过网络进行的数据通信,需要用地址来表示网络中的主机.TCP/IP协议使用IP地址来作为主机的标识.实现的连接方式是通过IP地址来识别的.通常情况下每台设备运行的不止一个程序,所以为了使用应用程序间的连接,还需要建立一个地址标识.在TCP/IP中使用端口来作为标识号(PORT).IP地址+端口地址.TCP:实现提供双向,有序无从复的数据流服务,流量控制+差错检测+纠错等功能.1.VB控件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 出错2.控件accept接受一个连接请求。格式:对象.accept request IDbind:多协议接口下,把接口卡,IP地址捆绑再一起。格式:对象。Bina端口号,ip地址close:关闭连接。格式:对象。Closeconnect:发送连接请求。格式:对象。Connectip,远程端口getdata:取出数据后清除缓冲区。Peekdata:取出数据后不清楚缓冲区。格式:对象。Getdata(peekdata)变量,数据类型,最大长度Listen:侦听。格式:对象。ListenSenddata:发送数据。格式:对象。Senddata3控件事件Close 远程设备关闭连接时触发事件Connect 建立连接,进行通信时触发Connectrequest 有连接请求时触发Data arrival 有数据到达时触发Error 错误时触发Send complete 完成一次数据传送触发Send progress 数据传送进度四、设计内容1、设计框架客户端服务端文件传输消息发送图2 消息文件交互客户端连接端口连接IP服务端图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 & "本机:" & 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(ByVal 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 /发送过来的信息,换行显示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_Click()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 /定义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 frmServer.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) 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.Accept 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.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 "文件传输." Pause 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 txtFileName = 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) DoEvents lTIme = lTIme + 1 Wend If lTIme >= 100000 Then MsgBox "找不到服务器!", vbCritical, "Connection Error" tcpClient.Close Exit Sub End 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主要作用:发送文件。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" 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地址五、设计总结六、设计心得七、参考文献

    注意事项

    本文(使用VB设计聊天室-多点对多点网络程序设计.doc)为本站会员(scccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




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

    三一文库
    收起
    展开