vb聊天程序代码winsock控件详解

vb聊天程序代码winsock控件详解

ID:42770470

大小:54.50 KB

页数:7页

时间:2019-09-22

vb聊天程序代码winsock控件详解_第1页
vb聊天程序代码winsock控件详解_第2页
vb聊天程序代码winsock控件详解_第3页
vb聊天程序代码winsock控件详解_第4页
vb聊天程序代码winsock控件详解_第5页
资源描述:

《vb聊天程序代码winsock控件详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、vb 聊天程序代码 winsock控件详解Sockets是在Unix系统上提出来的,一开始主要是用于本地通讯,但很快就应用到C/S体系上。MicroSoft公司在此基础上创建了WinSock控件,专门用于Windows接口,与Sockets完全兼容。Winsock控件对用户来说是不可见的,它提供了访问TCP和UDP网络服务的方便途径。MicrosoftAccess、VisualBasic、VisualC++或VisualFoxPro的开发人员都可使用它。为编写客户或服务器应用程序,不必了解TCP的细节或调用低级的WinsockAPIs。通过设置控件的属性并调用其方法就可轻易连接到一台远程机器

2、上去,并且还可双向交换数据。下面就利用VB5中的WinSock控件编写一个网上聊天程序。一)网络通信协议的基础和选择1.1TCP(数据传输协议)基础数据传输协议允许创建和维护与远程计算机的连接。连接两台计算机就可彼此进行数据传输。如果创建客户应用程序,就必须知道服务器计算机名或者IP地址(RemoteHost属性),还要知道进行“侦听”的端口(RemotePort属性),然后调用Connect方法。如果创建服务器应用程序,就应设置一个收听端口(LocalPort属性)并调用Listen方法。当客户计算机需要连接时就会发生ConnectionRequest事件。为了完成连接,可调用Connec

3、tionRequest事件内的Accept方法。建立连接后,任何一方计算机都可以收发数据。为了发送数据,可调用SendData方法。当接收数据时会发生DataArrival事件。调用DataArrival事件内的GetData方法就可获取数据。1.2UDP(用户数据文报协议)基础用户数据文报协议(UDP)是一个无连接协议。跟TCP的操作不同,计算机并不建立连接。另外UDP应用程序可以是客户机,也可以是服务器。为了传输数据,首先要设置客户计算机的LocalPort属性。然后,服务器计算机只需将RemoteHost设置为客户计算机的Internet地址,并将RemotePort属性设置为跟客户计

4、算机的LocalPort属性相同的端口,并调用SendData方法来着手发送信息。于是,客户计算机使用DataArrival事件内的GetData方法来获取已发送的信息。1.3选择通讯协议在使用WinSock控件时,首先需要考虑使用什么协议。可以使用的协议包括TCP和UDP。两种协议之间的重要区别在于它们的连接状态:TCP协议是有连接的协议,可以将它同电话系统相比。在开始数据传输之前,用户必须先建立连接。UDP协议是一种无连接协议,两台计算机之间的传输类似于传递邮件:消息从一台计算机发送到另一台计算机,但是两者之间没有明确的连接。另外,单次传输的最大数据量取决于具体的网络。到底选择哪一种协议

5、通常是由需要创建的应用程序决定的。下面的几个问题将有助于选择适宜的协议:1.在收发数据的时候,应用程序是否需要得到客户端或者服务器的确认信息?如果需要,使用TCP协议,在收发数据之前先建立明确的连接。2.数据量是否特别大(例如图象与声音文件)?在连接建立之后,TCP协议将维护连接并确保数据的完整性。不过,这种连接需要更多的计算资源,因而是比较“昂贵”的。73.数据发送是间歇的,还是在一个会话内?例如,如果应用程序在某个任务完成的时候需要通知某个计算机,UDP协议是更适宜的。UDP协议适合发送少量的数据。通讯协议的选择是通过设置WinSock的Protocol属性来实现的。下面选择TCP通讯协

6、议编写网上聊天程序,在此之前必须知道一个极其重要的参数---服务器端的IP地址或计算机名。二)确定计算机的名字1.在计算机的桌面上,右键单击“网上邻居”。2.选择“属性”。3.单击“标识”选项卡。4.在“计算机名称”框中可以找到计算机的名称。确定计算机的IP地址1.单击“任务条”上的“启动”。2.选择“运行”。3.若服务器端操作系统为win95则在“打开”中填入“winipcfg”,若服务器端操作系统为winnt则在“打开”中填入“ipconfig”。4.按下“确定”键。上面找到的计算机名称或IP地址可以作为WinSock的RemoteHost属性的值。三)winsock控件的State属性

7、。state属性的设置值是:常数值描述sckclosed0缺省的。关闭sckopen1打开scklistening2侦听sckconnectionpending3连接挂起sckresolvinghost4识别主机sckhostresolved5已识别主机sckconnecting6正在连接sckconnected7已连接sckclosing8同级人员正在关闭连接sckerror9错误下面主要要用到sckClo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。