前面介绍了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监听服务端的作用,是监听指定计算机端口,以实现与IIS相同的解析服务,提供客户端的网页请求,当然,这不仅仅是应用 ...

  2. DSAPI HTTP监听服务端与客户端_指令版

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

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

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

  4. DSAPI多功能组件编程应用-参考-Win32API常数

    DSAPI多功能组件编程应用-参考-Win32API常数 在编程过程中,常常需要使用Win32API来实现一些特定功能,而Win32API又往往需要使用一些API常数,百度搜索常数值,查手册,也就成了 ...

  5. DSAPI多功能组件编程应用-网络相关(上)

    [DSAPI.DLL下载地址]  DSAPI多功能组件编程应用-网络相关,网络相关编程有很多很多,这里讲解一下封装在DSAPI中的网络相关的功能,这些都是本人简化到极点的功能了,可以在软件开发过程中节 ...

  6. DSAPI多功能组件编程应用-网络相关(中)

    [DSAPI.DLL下载地址] 在中篇,我将演示比上篇稍微复杂点的功能.如HTTP监听和局域网广播. 有时,我们会有这样的需求:用户通过浏览器来访问获取数据,我们的程序需要监听指定端口,根据不同的请求 ...

  7. DSAPI多功能组件编程应用-网络相关(下)

    [DSAPI.DLL下载地址] 在本篇,我将重点介绍DSAPI.DLL中Socket编程的使用.众所周知,Socket用起来不难,但是写起来麻烦.我对Socket进行了封装,进行了高度简化.下面我将通 ...

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

    目前,较为成熟的技术是采用laravelS组件,注意和laravel 区别laravelS多了一个大写的S,由于laravelS默认监听5200端口,所以laravel项目要做一些调整 例如: 静态文 ...

  9. 在laravel5.8中集成swoole组件----用协程实现的服务端和客户端(nginx配置篇章)

    laravel项目中的配置  原文出处:https://laravelacademy.org/post/19700.html,感谢原文作者让laravel这款可爱的php框架,进入了高并发的殿堂 如果 ...

随机推荐

  1. GenyMotion 配合 Android Studio 的安装

    众所周知,Android Studio 自带的模拟器对内存和CPU消耗都很大却并没有很好的效果,简直是谷歌为了卖手机设计的.而Geny Motion 对机能的要求大大降低,又不会像自带模拟器那么卡.G ...

  2. 团队项目第二阶段个人进展——Day4

    一.昨天工作总结 冲刺第四天,分析完成后端处理的数据有主题,时间,地点,照片信息,前几个都是字符串类型,后一个是照片格式 二.遇到的问题 照片格式数据不知道怎么处理 三.今日工作规划 学习后端小程序后 ...

  3. python+selenium 环境搭建以及元素定位

    在给公司同事给培训了WEB自动化框架,现在和大家分享交流下

  4. 解决window.showModalDialog在Firefox无法支持

    在网页程序中,有时我们会希望使用者按下按钮后开启一个保持在原窗口前方的子窗口,而在IE中,我们可以使用showModalDialog来达成,语法如下 : vReturnValue = window.s ...

  5. SSM-SpringMVC-03:SpringMVC执行流程一张有意思的图

     ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 上次的图也不全,这次的图也不是完整版,但是多了一个拦截器,我觉得挺有意思的,我就放上来了 他Handler ...

  6. java多线程及线程安全详解

    为什么要使用多线程: 单线程只能干一件事  而多线程可以同时干好多事(将任务放到线程里执行  效率高) 而所谓同时干并不是真正意义上的同时   只是(这里就叫CPU)cpu在每个线程中随机切换来执行 ...

  7. sap 内表

    内表的目的在ABAP/4中,主要使用表格.表格是R/3系统中的关键数据结构.长期使用的数据存储在关系数据库表格中.关于如何读取和处理数据库表格的详细信息,参见读取并处理数据库表.除了数据库表格,还可以 ...

  8. 配置phpstorm自动上传代码

    本地的项目目录是 D:\www\guandan 虚拟机上的项目目录是 /var/www/guandan

  9. selenium中浏览器及对应的驱动(可下载)

    https://blog.csdn.net/huilan_same/article/details/52615123,灰蓝大神的总结,可直接下载 下载chrome浏览器,查看版本 http://blo ...

  10. 系列博文-Three.js入门指南(张雯莉)-网格 setInterval方法 requestAnimationFrame方法 使用stat.js记录FPS

    第6章 动画 在本章之前,所有画面都是静止的,本章将介绍如果使用Three.js进行动态画面的渲染.此外,将会介绍一个Three.js作者写的另外一个库,用来观测每秒帧数(FPS). CSS3动画那么 ...