Kaazing Gateway简单使用
Kaazing GateWay是一种提供跨平台跨浏览器WebSocket支持的网关,由Java编写,介绍一下Kaazing GateWay的安装配置和简单使用,哪里说得不对,还请指出。
1. 安装
a. 官网下载:http://www.kaazing.com/,选择需要的版本,这里以HTML5 版本为例
b. 安装前请确保已经安装了Java JDK
2. 配置
Kaazing的配置主要是修改/conf/gateway-config.xml文件,打开此文件,里面有这样一段代码:
<properties>
<property>
<name>gateway.hostname</name>
<value>localhost</value>
</property>
<property>
<name>gateway.base.port</name>
<value>8000</value>
</property>
<property>
<name>gateway.extras.port</name>
<value>8002</value>
</property>
</properties>
其中gateway.hostname的value值指的是服务器的地址,默认是本机地址localhost,gateway.base.port代表访问webbase目录的端口号,gateway.extras.port代表访问webextras目录的端口号,此目录是只读的,一般在将本目录下的文件拷贝带base下进行修改。
以下代码建立两个个服务器:
<!-- my services -->
<service>
<accept>ws://${gateway.hostname}:${gateway.extras.port}/hello</accept>
<type>echo</type>
<realm-name>demo</realm-name>
<cross-site-constraint>
<allow-origin>http://${gateway.hostname}:${gateway.extras.port}/hello</allow-origin>
</cross-site-constraint>
</service>
<service>
<accept>ws://${gateway.hostname}:${gateway.extras.port}/conn</accept>
<connect>ws://${gateway.hostname}:8888/</connect>
<type>proxy</type>
<realm-name>demo</realm-name>
<cross-site-constraint>
<allow-origin>http://${gateway.hostname}:${gateway.extras.port}</allow-origin>
</cross-site-constraint>
</service>
<!-- my services -->
<accept>标签的值是允许的请求地址,<allow-origin>标签是允许其他协议请求,上例中允许WebSocket协议ws和http协议,<type>指明服务器类型,第一个服务器为echo类型,即简单的回声服务器,一般做测试用,第二个服务器为proxy类型,配合<connect>使用,作用是将发送至ws://${gateway.hostname}:${gateway.extras.port}/conn的请求路由到ws://${gateway.hostname}:8888/,也就是服务器所在地址,这样就实现了一个简单的网关中间层,后端服务器可自由发挥,不限制具体编程语言。
3. 开启服务
打开/bin/gateway.start.bat开启服务,打开服务器访问localhost:8002或localhost:8000看效果,如果想访问base或extra目录,访问http://localhost:8002/samples/即是extra目录下的sample文件夹。
- (60) 随机读写文件及其应用 - 实现一个简单的KV数据库 / 计算机程序的思维逻辑
- java反射机制
- 突发 |“永恒之蓝”漏洞紧急应对方案
- 摩拜单车爬虫源码及解析
- 用Python实现微信接口(三)
- (61) 内存映射文件及其应用 - 实现一个简单的消息队列 / 计算机程序的思维逻辑
- ContentProvider简介
- (62) 神奇的序列化 / 计算机程序的思维逻辑
- js的回调函数详解
- 用Python实现微信接口(一)
- MYSQL常见错误及其解决方式
- 用Python实现微信接口(二)
- (63) 实用序列化: JSON/XML/MessagePack / 计算机程序的思维逻辑
- Quartz作业调度框架
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 《机器学习》-- 第六章 支持向量机
- Java并发编程的艺术[1]
- Java并发编程的艺术[2]
- Spark UDF实现demo
- Spring boot 开发中热部署配置(只需两步)
- 纯Java搭建SpringMVC项目
- 整理一下Spring整合Junit4单元测试方法
- spring 到底注入接口还是实现类?
- 韩松团队新作 | MCUNet | IoT设备+微型机器学习时代已经到来了
- SpringMVC在web.xml中的配置(引入springmvc)
- springmvc使用DELETE|PUT请求
- Mybatis缓存相关的知识
- 「2020最新」Spring最易学习教程—第一个Spring程序
- idea背景图片及简化插件
- 「2020最新」Spring最易学习教程—IOC 以及 整合Struts2