Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Kaazing VPN测试_Javascript_Activemq_Kaazing - Fatal编程技术网

Javascript Kaazing VPN测试

Javascript Kaazing VPN测试,javascript,activemq,kaazing,Javascript,Activemq,Kaazing,我已经在主机上创建了Kaazing VPN的设置,并将VM作为来宾机,参考 URL&另外,正如我建议的那样,我也使用perl测试了连接。但现在我想使用一些javascript将消息发送到客户端的kaazing网关,并希望看到消息传递到配置了ActiveMQ的另一端。 但是,当我向某个队列发送一条消息并创建生产者时。然后发现,在客户端,旅行路径是直到Kaazing&MQ。谁能告诉我解决办法吗 客户端的网关详细信息 <service> <name>proxy-conn

我已经在主机上创建了Kaazing VPN的设置,并将VM作为来宾机,参考 URL&另外,正如我建议的那样,我也使用perl测试了连接。但现在我想使用一些javascript将消息发送到客户端的kaazing网关,并希望看到消息传递到配置了ActiveMQ的另一端。 但是,当我向某个队列发送一条消息并创建生产者时。然后发现,在客户端,旅行路径是直到Kaazing&MQ。谁能告诉我解决办法吗

客户端的网关详细信息

<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>
服务器端的网关详细信息

<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下。请建议。

10/8、172.16/12和192.168/16都是专用ip地址范围。 我猜您需要外部ip地址才能将消息发送到另一端

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

client <--tcp--> gateway <---ws/internet---> gateway <--tcp--> server
所有连接都不会离开您的客户端。这不能是服务器的ip地址。。。除非您的服务器也在同一个本地网络上


相关漫画:

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

<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>
<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>
服务器网关应为:

<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>
<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或主机名,并希望服务器端的accept URL与客户端的连接地址相匹配

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


我为Kaazing工作,如果您需要更多帮助或其他问题,请告诉我。

谢谢您的评论,实际上,我已经创建了网关部分,并使用公共ip使用共享url中提供的perl脚本进行了测试,但是当连接到客户端网关并发送消息时,我无法在另一端接收到它。最好检查防火墙规则和客户端到服务器之间的常规ssh连接。服务器已打开和虚拟机一样的网络…所以我认为连接不应该是任何问题,但不确定现在面临的问题。