首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kaazing VPN测试

Kaazing VPN测试
EN

Stack Overflow用户
提问于 2014-11-07 15:12:40
回答 2查看 150关注 0票数 1

我已经在主机上创建了Kaazing VPN的设置,并从perl引用VM作为来宾计算机&而且,正如我所建议的那样,我还使用http://kaazingcorp.cachefly.net/com/file/kaazing-vpc.pdf测试了连接。但是现在我想使用一些javascript将消息发送到客户端的kaazing网关,并希望看到旅行到配置了ActiveMQ的另一端。但是,当我向某个队列发送一条消息并创建生产者时。然后发现客户端的出行路径一直到Kaazing & MQ。有谁能告诉我解决方案。

客户端网关详细信息。

代码语言:javascript
复制
<service>
    <name>proxy-connection</name>
    <accept>tcp://172.19.xx.xx:50505/</accept>
    <type>proxy</type>
    <properties>
        <connect>
            ws://192.168.yy.yy:8010/
        </connect>
    </properties>
</service>
<service-defaults>
<accept-options>
        <http.bind>8000</http.bind>
        <ws.bind>8010</ws.bind>
    </accept-options>
</service-defaults>

服务器端网关详细信息

代码语言:javascript
复制
<service>
    <name>proxy-connection</name>
    <accept>ws://192.168.yy.yy:8010/</accept>
    <type>proxy</type>
    <properties>
        <connect>
            tcp://10.a.b.c:50505/
        </connect>
    </properties>
</service>
<service-defaults>
<accept-options>
        <http.bind>8000</http.bind>
        <ws.bind>8010</ws.bind>
    </accept-options>  

为了发送消息,我们创建了一个小的java脚本客户端,通过JMS连接工厂进行连接,并在发送消息之前创建一个包含生产者和消费者的主题。但是,在另一端没有收到任何消息,但所有消息都显示在客户端的MQ下。请提个建议。

EN

回答 2

Stack Overflow用户

发布于 2014-11-07 15:25:47

10/8172.16/12192.168/16都是内网网段。我猜您需要外部ip地址才能将消息发送到另一端。

如果这是它应该看起来的样子:

代码语言:javascript
复制
client <--tcp--> gateway <---ws/internet---> gateway <--tcp--> server

那么tcp连接是本地的(内网ip也可以),但是ws连接需要使用公网ip。

下面是一个私有ip地址:

代码语言:javascript
复制
ws://192.168.yy.yy:8010/

所有连接都不会离开您的客户端。这不能是您的服务器的ip地址...除非您的服务器也在同一本地网络上。

相关漫画:http://xkcd.com/742/

票数 0
EN

Stack Overflow用户

发布于 2014-11-18 11:06:09

如果您只想在WebSocket上代理任何TCP流量,则您的网关配置看起来有一个语法错误。对于客户端,您的服务定义应为:

代码语言:javascript
复制
<service>
  <name>proxy-connection</name>
  <accept>tcp://172.19.xx.xx:50505/</accept>
  <connect>ws://192.168.yy.yy:8010/proxy</connect>
  <type>proxy</type>
</service>

服务器网关应为:

代码语言:javascript
复制
<service>
  <name>proxy-connection</name>
  <accept>ws://192.168.yy.yy:8010/proxy</accept>
  <connect>tcp://10.a.b.c:50505/</connect>
  <type>proxy</type>
</service>

但正如其他人所说,客户端网关必须能够访问192.168.yy.yy:8010。然后,您的客户端程序将连接到172.19.xx.xx:50505上的套接字,并且TCP流将在监听10.a.b.c:50505的服务器上重放。我假设您有一个ActiveMQ代理监听10.a.b.c:50505上的套接字,并且有一些ActiveMQ客户端连接到它认为正在172.19.xx.xx:50505上运行的代理。正如其他人所指出的,您确实希望客户端连接引用可公开访问的IP或主机名,并且服务器端上的接受URL与来自客户端的连接地址相匹配。

您使用哪种客户端语言通过网络连接到ActiveMQ?你可能想看看Kaazing的JMS版本,它使用JMS将ActiveMQ (或任何JMS代理)直接扩展到许多客户端(Java、JavaScript、.Net/Silverlight、Objective-C、Dalvik、Flash/Flex.这允许您在客户端程序中直接在web上使用JMS API,而无需运行第二个网关。

我为Kaazing工作,如果你需要更多的帮助或回答更多的问题,请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26795985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档