学院首页>冲浪宝典>网管知识>用VB语言设计小型网络管理系统

用VB语言设计小型网络管理系统

作者:petery 来源:赛迪论坛 添加时间:2006-5-26 12:27:18

  第一次握手:文件传送(上传,下载)请求数据格式:

  操作类型 文件名 文件块大小 文件块数目 最后一块大小(字节)

  0:上传 当地文件名 1kb(默认) 文件长度/块大小

  1:申请下载 远程计算机中的文件名

  第二次握手:文件传送(上传,下载)请求响应操作及回复信息

   上传响应:发送OK,告诉对方可以开始传送数据

   下载响应:传送文件块数目+块大小+最后一块字节大小

  之后,计算机之间进入真正的文件数据传送中。

  如此反复,直至文件的数据块传送完毕,在传送中间可以根据传送块的剩余数目显示进度条。

  3.2 用户登录管理

  ⑴用户登录机制

  为保证安全性,用户登录采用加密传送用户名及密码,用户登录机制如下:

  当客户机向服务器发出登录请求时,服务器生成相应的Winsock对象接收(Accept)客户机Winsock,从而建立服务器与不同的用户之间的消息通道。

  ⑵Winsock服务器建立多客户连接的方法:

  首先在服务器中建立Winsock数组Winsock1(),其中Winsock(0)进行“侦听”,当客户机发出连接请求(clintWinsock.Connect 服务器IP地址,服务器侦听端口)时Winsock(0)产生如下消息:

Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long)

If Index = 0 Then ’主Winsock——Winsock(0)发生消息

i = 1

While i <= cur And onl(i, 0) = 0 ’在以前的Winsock中找到空闲的Winsock

i = i + 1

Wend

If i <= cur Then ’在当前装载的Socket中发现有用户已经离开

Winsock1(i).LocalPort = 0 ’使用现成的Socket

Winsock1(i).Accept requestID ’接收

onl(i, 0) = 0 ’Winsock(i)被占用

Else ’在当前装载的Socket中没发现有用户离开

cur = cur + 1 ’当前接收端口增加

Load Winsock1(cur) ’生成新的’ Winsock

Winsock1(cur).LocalPort = 0

Winsock1(cur).Accept requestID ’接收

onl(cur, 0) = 0 ’Winsock(cur)被占用

End If

End Sub

第 2 页,共 2 页 [1] [2]
站内搜索