- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
用VB设计网络聊天室
第1章课程设计的目的
1.加深对计算机网络通信系统的工作原理的理解
通过编写计算机程序模拟网络通信的某些功能,理解并掌握网络通信系统的根本工作原理及工作过程。
2.提高网络应用的能力
学会运用网络语言以及网络协议设计小型网络。能对小型的网络应用系统进行分析,并能提出建网解决方案。
第2章课程设计分析及要求
2.1网络协议
Internet上的通讯协议是TCP/IP,Internet上数据传输协议主要有TCP和UDP,TCP是有连接协议,它要求计算机进行对话时必须先建立连接,保证数据传送平安到达目的地。UDP是无连接协议,它只是将信息送到网络上,并不检查数据是否到达了目的地。要进行实时会话,那么应该采用TCP协议。本程序采用的协议就是TCP协议。
2.2程序组成及简单原理介绍
程序分为效劳器端和客户端两局部。由于本应用程序使用TCP协议,因此决定应用程序是效劳器端程序。那么应用程序需要监听指定的端口。客户端程序启动后首先与效劳器建立连接,连接成功后,输入对方IP地址即可进入聊天室;效劳器端程序那么负责维护与每一个客户的连接和数据交换,并且记录下所有聊天内容,及人员名单。如果效劳器程序关闭,那么所有客户程序自动关闭。
2.3Winsock通信过程
1.Winsock控件
要实现两台计算机的对话,可以通过Winsock控件进行。而不需了解更多的数据传输细节,本程序就是通过Winsock进行的。
Winsock有多种属性、方法和事件,本文只列举出要使用的属性、方法和事件。
BytesReceived属性:返回接收到的〔当前在接收端缓冲区内〕数据的数量。使用GetData方法来获得数据。
LocalHostName属性:返回本地计算机名。在设计时是只读的,而且是不可用的。
LocalIP属性:返回本地机器的IP地址。在设计时是只读的,而且是不可用的。
LocalPort属性:返回或者设置所用到的本地端口。
RemoteHostIP属性:返回远程机器的IP地址.
Protocal属性:返回或设置WinSock控件所使用的协议——TCP或UDP。
State属性:返回控件的状态,用枚举型表示。在设计时是只读的,而且是不可用的。
SocketHandle属性:返回一个与套接字句柄对应的值,控件用套接字句柄同WinSock层通信。在设计时是只读的,而且是不可用的。
Accept方法:仅适应于TCP效劳器应用程序。在处理ConnectionRequest时使用这个方法接受新连接。
Bind方法:指定用于TCP连接的LocalPort和LocalIP。如果有多协议适配卡,就用这个方法。
Close方法:对客户机和效劳器应用程序关闭TCP连接或侦听套接字。
Listen方法:创立套接字并将其设置为侦听模式。仅适应于TCP连接。
PeekData方法:不从输入队列删除数据,除次之外与GetData相似。该方法仅适用于TCP连接。
SendData方法:将数据发送给远程计算机。
Close事件:当远程计算机关闭连接时出现。应用程序应正确使用Close方法关闭TCP连接。
ConnevtionRequest事件:当远程计算机请求连接时出现。
DataArrival事件:当新数据到达时出现。
SendComplete事件:在完成一个发送操作时出现。
Error事件:无论何时,只要后台处理中出现错误事件就会出现。
Connect事件:当一个Connect操作完成时发生。
2.聊天室程序应该包括一个效劳器程序和假设干个客户端进程,设计时应分别设计客户端程序和效劳器端程序。
首先设计一个客户端应用程序,窗口及其包括的控件如下图,各控件属性如表所示。在此之前应首先在Projict/Components页面中选择MicrosoftWindowsCommonControls6.0和MicrosoftWinsockControl6.0两项
控件
属性
属性值
Form1
Caption
效劳器端
Label1
Caption
待发送数据
Label2
Caption
已接受数据
cmdConnect
Caption
连接
cmdSendData
Caption
发送
cmdExit
Caption
退出
sbWinsockState
Width
4600
sktTCPChatClient
Rrotocal
0-sckTCPRrotocal
sktTCPChatClient
RemotePort
1001
3.设计一个效劳器应用程序,窗口及其包括的控件如下图,各控件属性如表所示。其他设置同客户端。
控件
属性
属性值
Form1
Caption
效劳器端
Labe
文档评论(0)