DSAPI多功能组件编程应用-HTTP监听服务端与客户端_指令版

前面介绍了DSAPI多功能组件编程应用-HTTP监听服务端与客户端的内容,这里介绍一个适用于更高效更快速的基于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"))

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-29 05:51:10

DSAPI多功能组件编程应用-HTTP监听服务端与客户端_指令版的相关文章

在laravel5.8中集成swoole组件----用协程实现的服务端和客户端(二)---静态文件如何部署

目前,较为成熟的技术是采用laravelS组件,注意和laravel 区别laravelS多了一个大写的S,由于laravelS默认监听5200端口,所以laravel项目要做一些调整 例如: 静态文件引入的方式-----从静态资源服务器加载 我们熟悉的js和css引入方式还是通过相对路径引入到标签中,但是如果集成了laravelS组件,这种技术方案就行不通了,网页不会加载样式或js文件,所以我们最好采用从静态服务器加载相关文件的方法.文件laravel5.8官方手册给出了URL::asset(

DSAPI多功能组件编程应用-DS提示气泡

首先下载DSAPI.dll.并在项目中引用. 该功能包括在DSAPI1.0.1.1及更高版本号,DLL请到本人资源里查找. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim F As New DSAPI.DS提示气泡(Me) With F .背景色 = Color.Red .气泡最大宽度 = 300 .图标 = Bitmap.FromFile("G:\图标_Icon\png\

python socket编程 ,tcp,udp服务端客户端创建

转自http://blog.csdn.net/rebelqsp/article/details/22109925 Python 提供了两个基本的 socket 模块. 第一个是 Socket,它提供了标准的 BSD Sockets API. 第二个是 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发. 下面讲的是Socket模块功能 1.Socket 类型 套接字格式: socket(family,type[,protocal]) 使用给定的地址族.套接字类型.协议编号

oracle 监听服务自动停止与无法启动问题

描述:监听服务莫名其妙终止,必须手动启动. 网上关于该问题的资料很多,总结下来,有以下几点 1.地址使用了主机名,修改Host文件和监听文件即可解决该问题. 2.防火墙作怪. 3.安全软件的优化功能作怪. 4.环境变量有问题 但是,我们这边的情况比较复杂,在尝试关闭防火墙,修改host文件等,还原优化选项,查看环境变量等操作之后,仍有主机出现该问题. 分析:1.不是所有主机都会产生该问题,大致先排除服务器问题,2.可能某些网络原因导致监听服务停止.3.系统方面导致的该问题.因为该问题具有随机性,

android项目 之 来电管家(8) ----- 添加开机自启动监听服务

现在大多数的应用都会开机自启动,来电管家更是如此,添加了开机自启动监听服务后,开机后即使你没有打开来电管家应用程序,一样可以拦截来电信息. 开机自启动Activity或Service的方法: 主要步骤: 1.  要有开机要启动的service或activity(这里开机要启动的当然就是ListenService了) 2. 编写一个BroadcastReceiver用以捕获ACTION_BOOT_COMPLETED这条广播,并在捕获之后启动我们要启动的Activity或service. BootC

SSL编程(3).NET实现SSL服务端

准备开发用数字证书 一般学习和开发调试场合,不会随便使用正式的SSL服务器证书的私钥.由于服务器验证对于SSL来说是必须的,SSL服务器端必须有拥有一个服务器证书,即能够访问到证书的私钥.对于要求客户端验证的SSL,对客户端有着同样的要求,客户端需要拥有与自己声称的身份对应的数字证书. Windows SDK中有一个制作测试开发用的临时数字证书的命令行工具:makecert.exe.这一工具也被包含在Visual Studio中.打开SDK或者Visual Studio的命令行提示窗口,输入如下

android项目 之 来电管家(5) ----- 添加监听服务

上面四节,已经实现了界面设计,黑名单(白名单的添加与删除与黑名单同理,不再赘述),启用监听开关,定时拦截开关,及拦截模式选择等功能,下面就要实现来电管家最核心的功能,也就是拦截功能.   主要思路: 1.  制定拦截模式,这里主要有两个,一个是黑名单模式,也就是只拦截在黑名单中的号码:另一个就是白名单模式,拦截除了白名单以外的号码. 2.  根据用户自定义设置信息,制定正则表达式,判断拦截的标准. 3.  使用对应的类实现挂断电话的功能. 监听模块主要是利用service实现功能,为了实现电话挂

oracle的环境配置-监听服务和访问连接原理

监听服务和访问连接原理 端口号范围:1025~6500 [[email protected] ~]$ lsnrctl   --进入监听管理工具 LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 05-JUN-2014 11:13:20 Copyright (c) 1991, 2005, Oracle.  All rights reserved. Welcome to LSNRCTL, type "help" for inform

Oracle Net Manager 测试监听服务

前几天因为工作需要,安装了Oracle 11g,但怎么都监听不了本机.打开 PL/SQL Devloper 也登陆不了.随删除之. 今天有时间,又把Oracle 安装上了,想着怎么才能监听.经过操作,现在成功,下面是 过程: 1. 安装完ORACLE 后,进入 配置与移植工具,选择 Net Manager 2. 配置监听程序和服务命名. 我使用的协议为 TCP/IP. 主机 :127.0.0.1 .端口 : 1521. 3. 打开 CMD,输入 sqlplus.exe sys/manager a