![]() ![]() |
|
基于Winsock的小型网络管理系统及其实现 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/3/1 11:02:27 文章录入:杜斌 责任编辑:杜斌 | |
|
|
1 网络管理系统的功能 用户登录认证,电子邮件系统,文件传送,消息通知 2 Winsock控件介绍 Winsock 控件对用户来说是不可见的,它提供了访问 TCP 和 UDP 网络服务的方便途径。Microsoft Access、Visual Basic、Visual C++ 或 Visual FoxPro 的开发人员都可使用它。为编写客户或服务器应用程序,不必了解 TCP 的细节或调用低级的 Winsock APIs。通过设置控件的属性并调用其方法就可轻易连接到一台远程机器上去,并且还可双向交换数据。 如果创建客户应用程序,就必须知道服务器计算机名或者 IP 地址(RemoteHost 属性),还要知道进行“侦听”的端口(RemotePort 属性),然后调用 Connect 方法。如果创建服务器应用程序,就应设置一个收听端口(LocalPort 属性)并调用 Listen 方法。当客户计算机需要连接时就会发生 ConnectionRequest 事件。为了完成连接,可调用 ConnectionRequest 事件内的 Accept 方法。 为实现Internet上两个远程计算机之间的数据传送,Winsock编程是一个十分便捷、快速的选择。显然,Winsock通信是基于Client/Server模式的,即服务器的Winsock在某端口进行“侦听”服务,等待客户机的申请;那么如何实现两台计算机之间对等数据交换?实现中,可以把生成两个Winsock对象,其中一个作为服务器对象在端口1“侦听”,另外一个作为客户机对象在端口2连接另一台计算机——即每台计算机可以作为服务器,也可以是客户端。 VB6.0中,Winsock有两种数据传送格式:字符串型和字节流型;平时的信息交互可以使用字符串型,但由于文件的传送要顾及各种格式的文件,因此文件不能以字符串进行传送,此时以字节流型数据传送可以保证数据完整。 方法如下: 3 小型网络管理系统的Winsock实现方法 当计算机A向计算机B之间要求文件(包括上传和下载)传送时,首先向计算机B发送文件传送请求——第一“握手”,之后才进行真正的文件数据传送。Winsock的SendData 方法发送的数据默认数据文件数据传送中,第一次握手:文件传送(上传,下载)请求数据格式: 操作类型 文件名 文件块大小 文件块数目 最后一块大小(字节) 3.2 用户登录管理 ⑴用户登录机制 为保证安全性,用户登录采用加密传送用户名及密码,用户登录机制如下: ⑵Winsock服务器建立多客户连接的方法: |
|
![]() ![]() |