Websocket - 无法从一台机器连接,可以从另一台机器连接

Posted

技术标签:

【中文标题】Websocket - 无法从一台机器连接,可以从另一台机器连接【英文标题】:Websocket - can't connect from one machine, can from another 【发布时间】:2014-08-03 14:44:52 【问题描述】:

我有以下代码:

function connect() 
    var socket = new SockJS('/MyWebApp/wsdemo');
    stompClient = Stomp.over(socket);
    stompClient.connect(, function(frame) 
        setConnected(true);
        stompClient.subscribe('/user/queue/greetings', function(greeting)          
            displayQueueMessage(greeting);
        );
    );

从机器 A(本地机器)它工作得很好,我在连接时收到以下控制台日志(在 chrome 中):

Opening Web Socket... stomp.js:130
Web Socket Opened... stomp.js:130
>>> CONNECT
accept-version:1.1,1.0
heart-beat:10000,10000

stomp.js:130
<<< PONG stomp.js:130
<<< CONNECTED
heart-beat:10000,10000
session:ID:Developer1-PC-56865-1406014918730-2:25
server:ActiveMQ/5.9.0
version:1.1

stomp.js:130
connected to server ActiveMQ/5.9.0 stomp.js:130
send PING every 10000ms stomp.js:130
check PONG every 10000ms stomp.js:130
Connected: CONNECTED
version:1.1
server:ActiveMQ/5.9.0
session:ID:Developer1-PC-56865-1406014918730-2:25
heart-beat:10000,10000

index:23
>>> SUBSCRIBE
id:sub-0
destination:/user/queue/greetings

从机器 B(同一局域网上的机器)它不工作 :(,我在连接时收到以下控制台日志(在 chrome 中):

Opening Web Socket... stomp.js:130
Web Socket Opened... stomp.js:130
>>> CONNECT
accept-version:1.1,1.0
heart-beat:10000,10000

有什么想法可能是错误的吗?

谢谢!

【问题讨论】:

检查防火墙日志,看看它是否阻止连接或防病毒 --- superuser.com/questions/423163/firewall-blocks-websocket 暂时禁用防火墙和杀毒软件,确保两台电脑都能通过“ping”在网络上看到对方。 【参考方案1】:

我遇到了同样的问题,我开始在不同的机器上测试我的应用程序,有些可以,有些不行,请尝试禁用防病毒或防火墙。如果它连接,请尝试配置您的防火墙。

【讨论】:

以上是关于Websocket - 无法从一台机器连接,可以从另一台机器连接的主要内容,如果未能解决你的问题,请参考以下文章

如何从一台服务器上移植Serv-U(版本15)的设置到另一台机器?

如何使用 ASP.NET 将文件从一台机器移动到另一台机器?

将数据库从一台机器导入/导出到另一台机器

电脑系统怎样从一台机器的系统转到另一台机器上

linux 使用scp命令从一台机器复制文件到另一台linux机器上去

怎么把mysql一个数据库从一台机器上 拷贝到另外一台