VB中简单服务端实现

'新建一个"标准 EXE"工程,在窗体中添加一个Winsock控件,名称默认用Winsock1,将Index设为0.

Option Explicit

Dim intMax As Long

Private Sub Form_Load()
intMax = 0
Winsock1(0).LocalPort = 60001
Winsock1(0).Listen
End Sub

Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long)
If Index = 0 Then
intMax = intMax + 1
Load Winsock1(intMax)
If Winsock1(intMax).State <> sckClosed Then
Winsock1(intMax).Close
End If
Winsock1(intMax).Accept requestID
End If
End Sub

Private Sub Winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
If bytesTotal = 408 Then
Winsock1(intMax).SendData "7d+01+00+00+34+12+34+12+01+00+00+00+6d+01+00+00+d1+8d+8c+8c+8d+8d+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+e2+fc+e2+b5+bc+bd+b8+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+b4+b4+b4+b4+b4+b4+b4+b4+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8d+8c+8c+8c+8d+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+fb+ea+bf" & _
"+ae+92+8c+8c+8c+4d+8c+8c+8c+d7+df+c9+dc+a2+e9+f4+e9+d1+f0+df+d8+de+bd+b1+f0+df+d8+de+be+b1+e5+eb+eb+e7+e9+ea+ea+ed+f0+df+d8+de+bf+b1+f0+df+d8+de+b8+b1+f0+c8+db+bd+b1+bc+f0+c8+db+be+b1+bd+ba+f0+df+d8+de+b9+b1+fa+e9+fe+bd+a2+bf+bb+be+f0+df+d8+de+ba+b1+f0+df+d8+de+bb+b1+f0+c8+db+bf+b1+be+f0+df+d8+de+b4+b1+bd+a0+b8+a0+b8+a0+bc+a0+b4+a0+bc+a0+bc+a0+bf+bc+bc+bc+a0+bf+bc+bc+bc+a0+bd+bc+bc+a0+bc+f4+be+bc+a0+bc+f4+bd+bc+b5+bd+b9+ed+e9+be+a0+bc+f4+bd+bc+b5+be+cf+c9+c8+b8+a0+bd+a0+bc+f4+bd+bc+bd+b9+c8+b9+b9+cf+a0+bc+f4+bd+bc+bc+b5+b5+b8+bf+cf+a0+bc+f4+bd+bc+bc+ca+b9+bd+b8+cf+a0+bc+f4+ca+ca+ca+ca+ca+ca+ca+ca+f0+"
ElseIf bytesTotal = 468 Then
Winsock1(intMax).SendData "a0+00+00+00+34+12+34+12+01+00+00+00+90+00+00+00+0c+8c+8c+8c+9d+8d+8c+8c+8c+8c+8c+8c+8c+8c+8c+8c+fb+ea+bf+ae+8d+8c+8c+8c+b0+18+b9+8d+a8+3f+aa+be+c2+35+a8+c9+c6+cf+54+eb+c8+95+03+05+c0+22+cf+26+1a+9c+fa+40+02+11+d0+62+64+ee+2c+9c+ec+98+76+be+52+e2+cc+db+0a+d4+8b+f5+b8+49+d5+17+b8+68+22+31+0a+2c+04+52+a6+55+c2+8d+bc+06+eb+af+14+72+a3+c8+9e+c4+54+ea+52+3d+1a+04+50+8e+88+20+f0+e5+bb+42+92+5c+e6+7c+4e+ba+12+9e+e4+11+5d+b8+9c+88+89+db+36+e6+b4+f5+ea+5d+e7+17+98+b4+13+31+48+12+5e+53+" & String(66, Chr$(0))
End If
End Sub

Private Sub Winsock1_Close(Index As Integer)
Winsock1(intMax).Close
End Sub

定义: 这是一款桌面级的WEB服务器 包含一个静态的http服务器与一个js脚本引擎 可以展示静态的网页与生成简单的动态页面 适合个人在windows服务器上面简单的建立http服务 支持情况: 静态http session application(仅仅能存取文本) 服务端执行的js脚本 数据库访问(反正ODBC支持的库都支持) 自定义的com组件引用 简易说明: 1 建立站点 打开编辑 设置 输入站点名称与路径 点击添加即可建立一个站点 如: myweb c: www 注意路径要以 结尾 在站点根目录下添加filter sjs与endfilter sjs(这是两个必须的过滤器 如无需代码放两个空文件即可) 2 静态资源与动态页面 在server sjs里的server execFileTypes定义可以配置将哪些文档类型作为动态页面 当请求静态资源时会直接返回资源 当请求一个动态页面时 请求会依次在filter sjs 请求页面 endfilter sjs 进行转发 当然也可以在filter sjs里代码来终止转发 动态页面中如果文档类型为 sjs服务器将识别为纯的服务端执行js脚本(好比servlet什么的) 在其他类型的动态页面文档中 目前有3种类型嵌入标签可用: <%c %>标签表示嵌入一段服务端执行js脚本 如:<body><%c response responseText+ "hello js"%>< body> 将返回页面<body>hello js< body> <%i %>标签表示引用资源 如:<%i src "parts part htm"%> <% %>标签表示插值 如:<body><% "hello js"%>< body> 将返回页面<body>hello js< body> 3 com组件引用 为了让web应用有更多功能扩展 该服务器可以在脚本中引用其他com组件 这里有2种引用方法 一种方法在设置里面添加引用变量名 组件名 引用类型;来添加其他com组件的引用 组件名成 组件工程名 组件类名 形式 就像使用CreateObject时一样 引用类型可sing与muti 其中sing为所有请求共用一个组件实例对象 muti为每个请求引用独立的组件实例对象 另外还可以在代码里使用objectLoader loadComObject attr comNm 来添加组件引用 attr为引用变量名 comNm为组件名 注意:一个新的组件在引用前应先用regsvr32 dll注册">定义: 这是一款桌面级的WEB服务器 包含一个静态的http服务器与一个js脚本引擎 可以展示静态的网页与生成简单的动态页面 适合个人在windows服务器上面简单的建立http服务 支持情况: 静态http session application(仅仅能存取文本 [更多]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值