计算机网络课程设计(TCP协议聊天程序).doc
《计算机网络课程设计(TCP协议聊天程序).doc》由会员分享,可在线阅读,更多相关《计算机网络课程设计(TCP协议聊天程序).doc(16页珍藏版)》请在三一办公上搜索。
1、基于TCP协议制作聊天软件摘要本次计算机网络课程设计是要制作一个基于TCP协议的聊天软件。整个软件包括服务器和客户端两个部分。要实现多台计算机连接情况下的接收、发送字符串,就是指多台客户端连接到同一个服务器,以服务器为中端来进行通讯。在服务端,可以设置端口,查看客户端的人数和IP,能和指定的用户进行通信。在客户端,通过设置服务端的IP和端口号来来连接服务端,在客户端可以显示出是否已连接。当运行服务器时,在其它电脑上运行客户端,输入服务器主机的IP,连接到服务器,那么客户端与客户端之间即可实现简易的通讯功能,可以相互聊天,就像QQ那样进行互动。在课程设计中,我们利用Visual Basic 6.
2、0编程工具来编写网络聊天程序。其中,我们将用到两个较新的控件:WinSock控件和StatusBar控件。Winsock是Mcrosoftwindows提供的网络编程接口,它提供了基于TCP/IP协议接口实现方法,通过网络进行的数据通信,需要用地址来表示网络中的主机。StatusBar控件通常显示在窗体上所查看对象的信息、对象的组成或与对象操作有关的内容信息。我们在对客户端与服务器的界面进行简单的设计后,通过设置控件的属性并调用其方法就可方便地连接到一台远程机器上去,并能进行对话时,那么基于TCP协议的聊天软件也就完成了。我们的简易聊天软件可以实现多人在线聊天、查看聊天记录、清空聊天记录等等功
3、能。关键字:Visual Basic 6.0 TCP协议 WinSock控件 StatusBar控件目录引言1一、背景介绍1二、TCP协议1三、Visual Basic Winsock控件介绍2四、Visual Basic StatusBar控件介绍2五、客户端/服务器模式2六、设计目的3基于TCP协议聊天软件的制作过程4一、客户端工作原理4二、服务器工作原理4三、设计客户端5四、设计服务器8五、可执行文件的生成10六、聊天软件的测试10七、总结12参考文献13引言一、背景介绍21世纪是一个以网络为核心的信息时代,要实现信息化,就必须依靠完善的网络。而随着计算机技术和通讯技术的发展,计算机网络
4、已渗透到各个应用领域,其中最突出的,便是以TCP/IP协议为核心的Internet网络发展最为迅速。因此,计算机应用程序的开发也由传统单机处理模式,转向以多机通信为主的网络应用开发。二、TCP协议TCP协议(数据传输协议)允许创建和维护与远程计算机的连接,连接两台计算机就可彼此进行数据传输。TCP是因特网中的传输层协议,使用三次握手协议建立连接。当客户端发出SYN(TCP/IP建立连接时使用的握手信号)连接请求后,等待对方回答 SYN+ACK,表示接收到了这个消息,并最终对对方的 SYN 执行 ACK 确认。这种建立连接的方法可以防止产生错误的连接。 TCP三次握手的过程(如图所示)如下:1、
5、客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。2、服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。3、客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。三次握手完成,TCP客户端和服务器端成功地建立连接,可以开始传输数据了。三、Visual Basic Winsock控件介绍本实验中用到Visual Basic 6.0中一个比较新的控件,就是Winsock控件。它主要用于将Winsock接口简化成易于使用的Visual Basic6.0内部接口。WinSo
6、ck控件能够通过UDP协议(用户数据报协议)或TCP协议(数据传输协议)连接到远程的机器并进行数据交换,这两种协议都能用来创建客户端和服务端应用程序。WinSock控件运行时没有一个可视的界面,创建客户端应用程序,它能在信息到达中央服务器之前把用户的信息收集起来;创建服务端应用程序,它能作为来自多个用户的数据一个集中处理点。本设计中,我们用的是TCP协议。TCP协议是一个基于连接的协议,就像电话机一样,用户必须在通话之前建立连接。四、Visual Basic StatusBar控件介绍一个StatusBar控件由Panel对象组成,每个Panel对象都可以包含文本或图片。StatusBar控件
7、提供窗体,该窗体通常位于父窗体的底部,通过这一窗体,应用程序能显示各种状态数据。StatusBar最多能被分成 16 个Panel对象,这些对象包含在Panels集合中。在设计时,可以创建和自定义Panel对象的外观,在StatusBar控件的Properties Page中,选择Panel卡片就可以设置各种参数了。在运行时,可以根据应用程序的状态对Panel对象重新配置以反映不同的功能。一个StatusBar控件通常显示在窗体上所查看对象的信息、对象的组成或与对象操作有关的内容信息。StatusBar控件与其他控件如ToolBar控件一起,可以使你创建经济而又富含信息的用户界面。五、客户端/
8、服务器模式C/S结构(Client/Server结构)是大家熟知的客户端和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构。服务器:(1)打开一通信通道并告知本地主机,它在某一公认地址端口上接受客户请求。(2)等待客户请求到达该端口。(3)接收到重复服务请求,处理该请求并发送应答信号。接收并发服务请求,要激活一新进程来处理这个客户请求。服务完成后,关闭此新进程与客户的通信链路,并终止。(4)返回第二步,等待另外的客户请求。(5)关
9、闭服务器。客户端:(1)打开一通信通道,并连接到服务器所在主机的特定端口。(2)向服务器发出服务请求报文,等待并接收应答;继续提出请求。(3)请求结束后关闭通信通道并终止。六、设计目的本课程设计的目标是用Visual Basic6.0设计一个基于TCP协议的聊天软件。我们利用Visual Basic Winsock控件和StatusBar控件实现。程序完成后最终生成服务器和客户端两个可执行文件,打开服务器可执行文件,即运行服务器,然后客户端可以与局域网上不同的主机上运行,输入服务器主机的IP,连接到服务器,客户端与客户端之间即可实现简易的聊天功能,在服务器可以显示在线人数以及客户端的IP地址。
10、基于TCP协议聊天软件的制作过程一、客户端工作原理在运行服务器之后,运行客户端。客户端首先向服务器提出建立连接请求,然后建立一个套接字描述符,通过该描述符调用数据传输函数即可与服务端进行数据的收发。用户登录成功后,向服务器发送登陆消息,并更新本地在线用户列表,然后通过服务器实现与其他客户聊天;当客户退出,向服务器发送下线消息。客户端流程如图a。图b图a二、服务器工作原理首先运行服务器,服务器侦听端口消息,等待客户端向其建立连接的申请,一旦接收到客户端的连接请求,服务器将返回一个新的套接字描述符,通过该描述符调用数据传输函数即可与客户端进行数据的收发。服务器若接收的是登陆信息,向该用户发送在线用
11、户列表,并更新服务器的在线用户列表;若收到的是发送信息,服务器解析信息,然后通过广播消息,向其所有线用户列表发送消息。服务器端流程图如图b。三、设计客户端客户端的程序编写:1.在客户端创建一个新的工程将其命名为“客户”。2.将缺省窗体命名为“客户”。3.将窗体的标题改为“客户端。4.在窗体中添加一个WinSock控件,默认其命名为Winsock1。5.在窗体中添加四个richtextbox控件。默认其命名为Text1、Text2、Text3、Text4,并将其内容清空。6.在窗体中添加四个CommandButton控件。其命名默认为Command1、Command2、Command3、Comm
12、and4,并将它们的Caption属性分别修改为“连接”、“发送”、“断开”、“清空”。7.在窗体上放四个Label控件,其命名默认为Label1、Label2、Label3、Label4,并将它们的Caption属性修改为“编辑窗口”、“聊天记录”、“系统消息”、“服务器IP”。8.在窗体上放一个StatusBar控件,其命名默认为StatusBar1其属性设置如下图所示:9.打开菜单编辑器,为窗体添加菜单,设置如下图所示:10.在窗体中添加如下的代码:Option ExplicitPrivate Sub Command1_Click() 连接服务器程序段 Winsock1.RemoteHo
13、st = Trim(Text4.Text) Winsock1.Connect Command1.Enabled = False Do DoEvents Loop Until Winsock1.State = sckConnected Or Winsock1.State = sckError If Winsock1.State = sckError Then Command1.Enabled = True Winsock1.Close Text3.Text = Text3.Text + 与服务器连接失败 + Chr$(13) + Chr$(10) Else Text3.Text = Text3.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 课程设计 TCP 协议 聊天 程序
链接地址:https://www.31ppt.com/p-2401466.html