前面介绍了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"))

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

DSAPI HTTP监听服务端与客户端_指令版的更多相关文章

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

    前面介绍了DSAPI多功能组件编程应用-HTTP监听服务端与客户端的内容,这里介绍一个适用于更高效更快速的基于HTTP监听的服务端.客户端. 在本篇,你将见到前所未有的超简化超傻瓜式的HTTP监听服务 ...

  2. DSAPI HTTP监听服务端与客户端

    本文中,演示了使用DSAPI.网络相关.HTTP监听,快速建立服务端和客户端. HTTP监听服务端的作用,是监听指定计算机端口,以实现与IIS相同的解析服务,提供客户端的网页请求,当然,这不仅仅是应用 ...

  3. DSAPI多功能组件编程应用-HTTP监听服务端与客户端

    本文中,演示了使用DSAPI.网络相关.HTTP监听,快速建立服务端和客户端. HTTP监听服务端的作用,是监听指定计算机端口,以实现与IIS相同的解析服务,提供客户端的网页请求,当然,这不仅仅是应用 ...

  4. select监听服务端

    # can_read, can_write, _ = select.select(inputs, outputs, None, None)## 第一个参数是我们需要监听可读的套接字, 第二个参数是我们 ...

  5. socket__服务端、客户端(注释版)

    # !/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/8/22 16:14 # @Author : Mr_zhang # @Sit ...

  6. C#Winform窗体实现服务端和客户端通信例子(TCP/IP)

    Winform窗体实现服务端和客户端通信的例子,是参考这个地址 http://www.cnblogs.com/longwu/archive/2011/08/25/2153636.html 进行了一些异 ...

  7. python thrift 服务端与客户端使用

    一.简介 thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发.它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, ...

  8. linux(centos 6.4)下安装php memcache服务端及其客户端(详细教程)

    前言 在搭建个人博客时,由于没有使用任何框架,纯手工code前台和后台,导致遇到许多问题,其中一个问题就是mysql连接导致的页面相应速度异常低.在查询各种途径后,只能考虑使用memcache缓存.在 ...

  9. [C语言]一个很实用的服务端和客户端进行TCP通信的实例

    本文给出一个很实用的服务端和客户端进行TCP通信的小例子.具体实现上非常简单,只是平时编写类似程序,具体步骤经常忘记,还要总是查,暂且将其记下来,方便以后参考. (1)客户端程序,编写一个文件clie ...

随机推荐

  1. Oracle DBLINK的相关知识整理

    一.DBLINK(Database Link)概念 dblink,顾名思义就是数据库的链接.当我们要跨本地数据库访问另一个数据库中的表的数据时,在本地数据库中就必须要创建远程数据库的dblink,通过 ...

  2. 记录一种下载https网址中的mp4文件的方法

    需要下载一个网页中的视频, 页面中的视频播放器为 JW player, 通过搜索发现可以下载对应的视频. 1. 使用chrome浏览器分析 网页中的视频地址: F12或者右键-->检查, 在打开 ...

  3. 发现一款适合php网站的管理软件——kodexplorer,能取代ftp

    今天偶然看到可以利用可道云来管理网站的文件.可道云不需要数据库,因此搭建非常简单.搭建的方法也很简单.传统的 WordPress 站点的文件管理,通常是是通过 FTP 或者服务器面板自带的文件管理器来 ...

  4. 源码安装python +NGINX 的坎坷路 +uwsgi安装 部署django 的CRM项目

    一.Nginx安装(基于ubuntu17.10 版本) 首先我们是基于源码安装,主要有如下步骤 1.安装依赖包 1.安装gcc g++的依赖库 sudo apt-get install build-e ...

  5. c++编译错误C2971:"std::array":array_size:包含非静态存储不能用作废类型参数;参见“std::array”的声明

    在Qt5中这段代码编写有两种方式:一个编译成功,一个失败 成功版本: static constexpr size_t block_size = 0x2000;//8KB static constexp ...

  6. extremecomponents

    具体教程: http://www.cnblogs.com/QQParadise/articles/1488920.html 教程中涉及到springmvc的相关知识 下载地址:http://sourc ...

  7. JAVA多线程学习笔记(1)

    JAVA多线程学习笔记(1) 由于笔者使用markdown格式书写,后续copy到blog可能存在格式不美观的问题,本文的.mk文件已经上传到个人的github,会进行同步更新.github传送门 一 ...

  8. C语言复习3_条件结构

    if条件结构 if else 结构一般处理区间情况 #include <stdio.h> #include <stdlib.h> int main() { //打印剧情 dou ...

  9. k8s probe

    livenessProbe: httpGet: path: /abc/401 port: 8384 scheme: HTTP

  10. Tensorboard可视化

    # -*- coding: utf-8 -*-"""Created on Sun Nov 5 09:29:36 2017 @author: Admin"&quo ...