DSAPI多功能组件编程应用-网络相关(中)
来源:互联网 发布:log4j写入数据库详解 编辑:程序博客网 时间:2024/05/30 23:07
[DSAPI.DLL下载地址]
在中篇,我将演示比上篇稍微复杂点的功能.如HTTP监听和局域网广播.
有时,我们会有这样的需求:用户通过浏览器来访问获取数据,我们的程序需要监听指定端口,根据不同的请求返回不同数据给用户,当然,用户可能使用的是浏览器,我们先来看下面的代码:
Private WithEvents 监听 As New DSAPI.网络相关.HTTP监听 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load CheckForIllegalCrossThreadCalls = False With 监听 .绑定端口 = 2000 .编码 = System.Text.Encoding.Default .参数前导符 = "" .传输使用Bas64加密 = False .允许外网连接 = True .启动监听() End With End Sub使用WithEvents方式,将更方便使用其事件.
释义:
编码:指示返回给客户端时使用哪种字符编码
参数前导符:是否需要使用指定字串开头,比如
.参数前导符="cmd:"
当用户输入http://127.0.0.1:2000/cmd:help,时,程序将获取的"客户端.传入的Url"从前导符后面开始提取,即"help",如果指定了前导符,那么当用户的URL请求不是以前导符请求传入时,将触发服务端的"收到被阻止的客户端请求"事件.
传输使用Base64加密:指示输出到客户端页面的内容是否使用Base64加密,将启用此加密时,读取客户端输入流的也应使用Base64加密.
允许外网连接:指示本监听服务是否允许外网访问,如果为False,则外网所有请求都不进行处理,并触发"收到被阻止的客户端请求"事件.
编写一个监听服务端
Private Sub 监听_收到客户端请求(客户端 As DSAPI.网络相关.HTTP监听.监听客户端) Handles 监听.收到客户端请求 TextBox1.Text &= 客户端.传入的URL & vbCrLf If 客户端.传入的URL = "help" Then 监听.写入信息到指定客户端输出流(客户端, "This is help") End If End Sub
运行以上代码时的效果图,左图为监听服务端,右侧为客户端浏览器.
DSAPI.网络相关.HTTP监听支持以下事件:
监听已启动
监听已停止
收到被阻止的客户端请求(客户端 As DSAPI.网络相关.HTTP监听.监听客户端)
收到客户端请求(客户端 As DSAPI.网络相关.HTTP监听.监听客户端)
遇到错误(错误 As Exception)
传入的客户端
以上述http监听服务端中,当接收到客户请求时,会形成一个客户端信息,该信息会包含在“收到客户端请求事件里,客户端信息为简单的封装,包含如下内容:
传入的URL
当前会话上下文
端口
会话时间
浏览器信息
请求类型
输出流
输入流
当前会话上下文
端口
会话时间
浏览器信息
请求类型
输出流
输入流
局域网广播
直到写这个,我才看到里面的函数我没有改成中文,不过不影响使用。
发送局域网广播消息
DSAPI.网络相关.局域网广播.局域网广播_服务端.SendMessage(System.Text.Encoding.Default.GetBytes("Hello Everyone"))
发送不需要定义或声明发送者,但是接收广播消息需要有一个对象来实时接收,所以接收广播消息时:
Private WithEvents 客户端 As New DSAPI.网络相关.局域网广播.局域网广播_客户端 Private Sub 客户端_ReceivedMessage(Msg() As Byte) Handles 客户端.ReceivedMessage Console.WriteLine(System.Text.Encoding.Default.GetString(Msg)) End Sub
当广播客户端接收到消息时,将触发”ReceivedMessage“事件。
0 0
- DSAPI多功能组件编程应用-网络相关(中)
- DSAPI多功能组件编程应用-网络相关(上)
- DSAPI多功能组件编程应用-网络相关(下)
- DSAPI多功能组件编程应用-QQ相关
- DSAPI多功能组件编程应用-反射相关
- DSAPI多功能组件编程应用-图形图像篇(中)
- DSAPI多功能组件编程应用-DS密法
- DSAPI多功能组件编程应用-菜单渲染
- DSAPI多功能组件编程应用-文件类
- DSAPI多功能组件编程应用-实时统计-CPU/内存/硬盘/网络
- DSAPI多功能组件编程应用-键盘鼠标钩子
- DSAPI多功能组件编程应用-PNG成为窗体
- DSAPI多功能组件编程应用-图形图像篇(上)
- DSAPI多功能组件编程应用-HTTP监听服务端与客户端
- DSAPI多功能组件编程应用-DS提示气泡
- DSAPI多功能组件编程应用-参考-Win32API常数
- DSAPI多功能组件编程应用-HTTP监听服务端与客户端_指令版
- DSAPI多功能组件编程应用-使用外部字体(包括资源文件)
- 操作系统,二级页表存储方式
- C++中static变量各种用法总结
- ACM_简单的动态规划法(乘车费用)
- odoo8中form视图中statusbar部件功能
- 暑假多看看英文原版电影
- DSAPI多功能组件编程应用-网络相关(中)
- (二十七)QQ好友列表的实现
- 华丽的前台登陆页面
- 一些常用的IOS开发网站
- 运筹学之初探
- php获取指定文件夹下的所有子文件
- 面向对象(一)
- oracle 征途-方向有那么一点点偏了
- Selenium 查找元素