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代表访问\web\base\目录的端口号,gateway.extras.port代表访问\web\extras\目录的端口号,此目录是只读的,一般在将本目录下的文件拷贝带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文件夹。

Kaazing Gateway简单使用的更多相关文章

  1. spring cloud Gateway简单使用

    一.引子 2年前有幸使用过一次Spring Cloud (1.5.9),那次用的是ZUUL做网关,没有使用Gateway做网关,一直是个小遗憾.终于在2年后的19年底再次使用Spring Cloud, ...

  2. Spring Cloud Gateway简单入门,强大的微服务网关

    我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 简介 见名知义,Spring Cloud Gateway是用于微服务场景的网关组件,它是基于Spring WebFlu ...

  3. SpringCloud Gateway入门

    本文是介绍一下SpringCloud Gateway简单路由转发使用. SpringCloud Gateway简介 SpringCloud是基于Spring Framework 5,Project R ...

  4. spring cloud微服务快速教程之(十) gateway 服务网关

    0.前言 gateway是spring的二代网关, 作为Netflix Zuul的替代者,是异步非阻塞网关 ,ZUUL2也是异步非阻塞的,但未纳入spring cloud整合计划 基于WebFlux  ...

  5. Ajax、Comet、HTML 5 Web Sockets技术比较分析

    最近因为考虑研究B/S结构网站即时消息处理 参考了 JAVA怎么样实现即时消息提醒http://bbs.csdn.net/topics/330015611http://www.ibm.com/deve ...

  6. Tomcat如何实现WebSocket

    WebSocket协议属于HTML5标准,越来越多浏览器已经原生支持WebSocket,它能让客户端和服务端实现双向通信.在客户端和服务器端建立一条WebSocket连接后,服务器端消息可直接发送到客 ...

  7. WebSocket原理与实践(二)---WebSocket协议

    WebSocket原理与实践(二)---WebSocket协议 WebSocket协议是为了解决web即时应用中服务器与客户端浏览器全双工通信问题而设计的.协议定义ws和wss协议,分别为普通请求和基 ...

  8. WebSocket实战之——JavaScript例子

    一.详细代码案例 详细解读一个简单html5 WebSocket的Js实例教程,附带完整的javascript websocket实例源码,以及实例代码效果演示页面,并对本实例的核心代码进行了深入解读 ...

  9. Websocket -- JS的前端页面

    一个html5 WebSocket + JS的简单Echo例子,例子代码演示效果猛戳链接:websocket例子(打开页面,稍等一会) 使用一个文本编辑器,把下面代码复制保存在一个 websocket ...

随机推荐

  1. BJOI2018 简要题解

    二进制 序列上线段树维护DDP好题. 题解可以看这篇 代码: #include<bits/stdc++.h> #define ri register int using namespace ...

  2. 关于chrome密码保存框的神坑,这样子解决就行

  3. Python_day7

    sys模块 import sys def _add(a, b): return a + b def _sub(a, b): return a - b def _mul(a, b): return a ...

  4. SSM+MyBatis框架详解

  5. Unity3D编辑器扩展(一)——定义自己的菜单按钮

    Unity3D 引擎的编辑器拥有很强的扩展性,用的好可以帮我们省很多事情.在这里记录下如何去扩展 Unity3D 的编辑器,定制属于我们自己的开发环境. 本篇主要讲解在 Unity3D 引擎的各个窗口 ...

  6. Windows 注册表 16进制时间转换( Convert Reg_binary Time to a Datetime )

    背景: Windows注册表中,存在大量16进制的时间,以 reg_binary存储在注册表中. 例如: 0D 6C A4 4B 37 C5 CE 01 这种值日常报表中需要转换为适合人阅读的格式,实 ...

  7. 基于继承的 MethodInterceptor 动态代理(换种写法)

    net.sf.cglib.proxy.Enhancer Generates dynamic subclasses to enable method interception. This class s ...

  8. ssh 使用 sed 替换的时候,替换的字符串有单双引号的时候怎么用

    线上有一个脚本需要 ssh 登录远程机,然后完成特定文件中的某个值,替换的字符中有单引号,所以需要特定的写法,才能成功 1).ssh 远程执行命令,替换字符串中有单引号( ' ) ssh zhuzi@ ...

  9. IDEA添加项目为library

    1.如果要作为library的项目没有被IDEA编译就先把项目放在IDEA里面编译一下,因为这样后面导入module会方便一点.下面直接附上步骤 2.假设你已经用IDEA编译好了作为library的项 ...

  10. 去掉字符空格js

    1. 去掉字符串两端的空格 String.prototype.trim = function () { return this.replace(/(^\s*)|(\s*$)/g, "&quo ...