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"))
一句代码,什么?就这样?是的,你没看错,就这么简单。这就是我所谓的指令版,相信你一定喜欢。
DSAPI多功能组件编程应用-HTTP监听服务端与客户端_指令版的更多相关文章
- DSAPI多功能组件编程应用-HTTP监听服务端与客户端
本文中,演示了使用DSAPI.网络相关.HTTP监听,快速建立服务端和客户端. HTTP监听服务端的作用,是监听指定计算机端口,以实现与IIS相同的解析服务,提供客户端的网页请求,当然,这不仅仅是应用 ...
- DSAPI HTTP监听服务端与客户端_指令版
前面介绍了DSAPI多功能组件编程应用-HTTP监听服务端与客户端的内容,这里介绍一个适用于更高效更快速的基于HTTP监听的服务端.客户端. 在本篇,你将见到前所未有的超简化超傻瓜式的HTTP监听服务 ...
- DSAPI HTTP监听服务端与客户端
本文中,演示了使用DSAPI.网络相关.HTTP监听,快速建立服务端和客户端. HTTP监听服务端的作用,是监听指定计算机端口,以实现与IIS相同的解析服务,提供客户端的网页请求,当然,这不仅仅是应用 ...
- DSAPI多功能组件编程应用-参考-Win32API常数
DSAPI多功能组件编程应用-参考-Win32API常数 在编程过程中,常常需要使用Win32API来实现一些特定功能,而Win32API又往往需要使用一些API常数,百度搜索常数值,查手册,也就成了 ...
- DSAPI多功能组件编程应用-网络相关(上)
[DSAPI.DLL下载地址] DSAPI多功能组件编程应用-网络相关,网络相关编程有很多很多,这里讲解一下封装在DSAPI中的网络相关的功能,这些都是本人简化到极点的功能了,可以在软件开发过程中节 ...
- DSAPI多功能组件编程应用-网络相关(中)
[DSAPI.DLL下载地址] 在中篇,我将演示比上篇稍微复杂点的功能.如HTTP监听和局域网广播. 有时,我们会有这样的需求:用户通过浏览器来访问获取数据,我们的程序需要监听指定端口,根据不同的请求 ...
- DSAPI多功能组件编程应用-网络相关(下)
[DSAPI.DLL下载地址] 在本篇,我将重点介绍DSAPI.DLL中Socket编程的使用.众所周知,Socket用起来不难,但是写起来麻烦.我对Socket进行了封装,进行了高度简化.下面我将通 ...
- 在laravel5.8中集成swoole组件----用协程实现的服务端和客户端(二)---静态文件如何部署
目前,较为成熟的技术是采用laravelS组件,注意和laravel 区别laravelS多了一个大写的S,由于laravelS默认监听5200端口,所以laravel项目要做一些调整 例如: 静态文 ...
- 在laravel5.8中集成swoole组件----用协程实现的服务端和客户端(nginx配置篇章)
laravel项目中的配置 原文出处:https://laravelacademy.org/post/19700.html,感谢原文作者让laravel这款可爱的php框架,进入了高并发的殿堂 如果 ...
随机推荐
- JSP转译成Servlet详细过程【转】
JSP转译成Servlet详细过程 JSP是Servlet的扩展,在没有JSP之前,就已经出现了Servlet技术.Servlet是利用输出流动态生成HTML页面,包括每一个HTML标签和每个在HTM ...
- Python零散函数
1. python json.dumps() json.dump()的区别 注意cat ,是直接输出文件的内容 load和loads都是实现"反序列化",区别在于(以Python为 ...
- Reactor三种线程模型与Netty线程模型
文中所讲基本都是以非阻塞IO.异步IO为基础.对于阻塞式IO,下面的编程模型几乎都不适用 Reactor三种线程模型 单线程模型 单个线程以非阻塞IO或事件IO处理所有IO事件,包括连接.读.写.异常 ...
- nginx+php+mysql+wordpress搭建简单站点 安装及配置过程
环境 阿里云ECS云服务器 CPU:1核 内存:2G 操作系统:Centos 7.3 x64 地域:华北 2(华北 2 可用区 A) 系统盘:40G 安装及配置 主要使用 nginx . php 和 ...
- 【转】利用 three.js 开发微信小游戏的尝试
前言 这是一次利用 three.js 开发微信小游戏的尝试,并不能算作是教程,只能算是一篇笔记吧. 微信 WeChat 6.6.1 开始引入了微信小游戏,初期上线了一批质量相当不错的小游戏.我在查阅各 ...
- Oracle-11:联合查询
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 联合查询的实际上的意义就是从俩个结果集中拿有特定联系的结果封装为一个结果集 数据库脚本给放一份,供测试使用 c ...
- 使用SimHash进行海量文本去重[转载]
阅读目录 1. SimHash与传统hash函数的区别 2. SimHash算法思想 3. SimHash流程实现 4. SimHash签名距离计算 5. SimHash存储和索引 6. SimHas ...
- Spring Boot 2.0 教程 - 深入SpringAplication
原文连接:https://www.codemore.top/cates/Backend/post/2018-05-20/spring-boot-SpringApplication 可以通过Spring ...
- Navicat PatchNavicat
Navicat for MySQL 11.0.10 32+64位(内含破解补丁)\64位 安装完成后,退出Navicat 执行PatchNavicat.exe,提示patch完成后,Navicat即可 ...
- Java描述数据结构之链表的增删改查
链表是一种常见的基础数据结构,它是一种线性表,但在内存中它并不是顺序存储的,它是以链式进行存储的,每一个节点里存放的是下一个节点的"指针".在Java中的数据分为引用数据类型和基础 ...