博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DSAPI多功能组件编程应用-HTTP监听服务端与客户端_指令版
阅读量:4685 次
发布时间:2019-06-09

本文共 1653 字,大约阅读时间需要 5 分钟。

前面介绍了的内容,这里介绍一个适用于更高效更快速的基于HTTP监听的服务端、客户端。

在本篇,你将见到前所未有的超简化超傻瓜式的HTTP监听服务,与前篇中的不同,在DSAPI中,指令版同时包含了服务端与客户端。

先来看一下使用方法,几乎不需要太多的说明,当然,它是支持事件的。所谓指令版,即服务端和客户端收发都是基于短字串的,比如客户端发一个“hello“,服务端收到这个指令后返回一个”Hi"。为确保传输的数据有效性,默认使用Base64加密后传输,且该属性在指令版中隐藏,因为用户用不到这个属性。

建立一个指令版Http监听

 

Private WithEvents 服务端 As New DSAPI.网络相关.HTTP监听_指令版   With 服务端            .绑定端口 = 2000 '绑定端口            .参数前导符 = True  '是否使用参数前导符,意义和前篇一样            .允许外网连接 = True '是否允许外网请求            .启动监听()        End With

仅仅几句代码,就完成了一个基于HTTP监听的指令版服务端,支持的事件如下:

 

Private Sub 服务端_监听已启动() Handles 服务端.监听已启动    End Sub    Private Sub 服务端_监听已停止() Handles 服务端.监听已停止    End Sub    Private Sub 服务端_收到指令(客户端 As DSAPI.网络相关.HTTP监听_指令版.监听客户端_指令版, 指令内容 As String) Handles 服务端.收到指令    End Sub    Private Sub 服务端_遇到错误(错误 As Exception) Handles 服务端.遇到错误    End Sub

处理接收到的指令

 

Private Sub 服务端_收到指令(客户端 As DSAPI.网络相关.HTTP监听_指令版.监听客户端_指令版, 指令内容 As String) Handles 服务端.收到指令        Select Case 指令内容            Case "hello"                服务端.写入信息到指定客户端输出流(客户端, "hello,my friend")            Case "get"                服务端.写入信息到指定客户端输出流(客户端, IO.File.ReadAllBytes("c:\1.rar"))            Case Else                服务端.写入信息到指定客户端输出流(客户端, "No")        End Select    End Sub

发来的指令内容直接在参数中提供,以便select case,同样,返回给客户端的,可以是文本,也可以是字节数组,比如一个文件。

服务端的建立和使用就是上面这些,下面演示如何建立一个指令版客户端。

 

建议一个指令版Http监听客户端

 

Private WithEvents 客户端 As New DSAPI.网络相关.HTTP监听_指令版.监听客户端_指令版  With 客户端            .超时时间 = 1000 '自定义超时时间            .服务端IP或域名 = "127.0.0.1"            .服务端端口号 = 2000        End With

就这么简单,好了,现在看一下如何使用客户端向服务端发送一个指令并获取返回数据。

 

 

MsgBox(客户端.获取数据("hello"))

一句代码,什么?就这样?是的,你没看错,就这么简单。这就是我所谓的指令版,相信你一定喜欢。

转载于:https://www.cnblogs.com/dylike/p/10575982.html

你可能感兴趣的文章
@synthesize of 'weak' property is only allowed in ARC or GC mode
查看>>
Android service介绍和启动方式
查看>>
LaTeX技巧:如何高效地将LaTeX代码转为Word公式
查看>>
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字...
查看>>
如何在VS2010中使用代码片段
查看>>
H3C 通配符掩码的应用示例
查看>>
sqlite 测试索引
查看>>
java 知识结构
查看>>
The introduction of redux
查看>>
[PAT] 1012 The Best Rank (25 分)Java
查看>>
C# chart绑定数据的方式整理
查看>>
大端模式和小端模式
查看>>
mysql灾备演练问题
查看>>
互娱3.31一面
查看>>
Jmeter九、jmeter中的函数和beanshell
查看>>
Django+xadmin 打造线上教育平台(二)登录-注册(重制)
查看>>
DevExtreme 学习应用[2]
查看>>
C++ string和int相互转换
查看>>
java解压缩zip
查看>>
Android 样式布局
查看>>