websocket 连接失败

chrome浏览器:

控制台输出: connect to ws://192.168.1.67:3010

socket close:

CloseEvent {reason: "", code: 1006, wasClean: false, clipboardData: undefined, cancelBubble: false…}
bubbles: false
cancelBubble: false
cancelable: false
clipboardData: undefined
code: 1006
currentTarget: WebSocket
defaultPrevented: false
eventPhase: 0
reason: ""
returnValue: true
srcElement: WebSocket
target: WebSocket
timeStamp: 1366601122790
type: "close"
wasClean: false
proto: CloseEvent
build.js:1427
onclose

我的web-server/public/index.html 对应的 host 也改成虚拟机的IP了,。

另外, 我git clone https://github.com/NetEase/chatofpomelo.git 这个例子, websocket.io 不支持IE的么? 我之前的例子 是可以的哇。

标签:无
wang4142 在 2013-4-22 11:31发布 分享到 weibo
9 回复
#1 wang4142 2013-4-22 11:41 回复
[2013-04-22 11:34:55.944] [INFO] /node_modules/pomelo/lib/application.js - application inited: "master-server-1"
[2013-04-22 11:34:56.119] [INFO] console - info: 'socket.io started'
[2013-04-22 11:34:56.124] [ERROR] console -  Caught exception: Error: listen EADDRINUSE
at errnoException (net.js:863:11)
at Server._listen2 (net.js:1008:14)
at listen (net.js:1030:10)
at Server.listen (net.js:1096:5)
at Object.exports.listen (/www/demo/game-server/node_modules/pomelo/node_modules/socket.io/lib/socket.io.js:74:12)
at MasterAgent.listen (/www/demo/game-server/node_modules/pomelo/node_modules/pomelo-admin/lib/masterAgent.js:57:21)
at ConsoleService.start (/www/demo/game-server/node_modules/pomelo/node_modules/pomelo-admin/lib/consoleService.js:58:14)
at Server.start (/www/demo/game-server/node_modules/pomelo/lib/master/master.js:33:22)
at pro.start (/www/demo/game-server/node_modules/pomelo/lib/components/master.js:34:15)
at /www/demo/game-server/node_modules/pomelo/lib/util/appUtil.js:82:19
[2013-04-22 11:34:56.125] [INFO] /node_modules/pomelo/lib/master/starter.js - Executing cd /www/demo/game-server && node  /www/demo/game-server/app.js env=development  id=connector-server-1  host=192.168.1.67  port=3150  clientPort=3010  frontend=true  serverType=connector  locally
[2013-04-22 11:34:56.132] [INFO] /node_modules/pomelo/node_modules/pomelo-admin/lib/consoleService.js - try to connect master: "master", "192.168.1.67", 3005

[2013-04-22 11:34:56.261] [INFO] console - [2013-04-22 11:34:56.258] [INFO] /node_modules/pomelo/lib/application.js - application inited: "connector-server-1"

[2013-04-22 11:34:56.560] [INFO] console - [2013-04-22 11:34:56.558] [INFO] console - info: 'socket.io started'

 [2013-04-22 11:34:56.563] [INFO] console - [2013-04-22 11:34:56.563] [ERROR] console -  Caught exception: Error: listen EADDRINUSE
at errnoException (net.js:863:11)
at Server._listen2 (net.js:1008:14)
at listen (net.js:1030:10)
at Server.listen (net.js:1096:5)
at Object.exports.listen (/www/demo/game-server/node_modules/pomelo/node_modules/socket.io/lib/socket.io.js:74:12)
at pro.listen (/www/demo/game-server/node_modules/pomelo/node_modules/pomelo-rpc/lib/rpc-server/acceptors/ws-acceptor.js:29:21)
at pro.start (/www/demo/game-server/node_modules/pomelo/node_modules/pomelo-rpc/lib/rpc-server/gateway.js:42:17)
at pro.start (/www/demo/game-server/node_modules/pomelo/lib/components/remote.js:46:15)
at /www/demo/game-server/node_modules/pomelo/lib/util/appUtil.js:82:19
at iterate (/www/demo/game-server/node_modules/pomelo/node_modules/async/lib/async.js:123:13)

[2013-04-22 11:34:56.577] [INFO] console - [2013-04-22 11:34:56.576] [INFO] /node_modules/pomelo/node_modules/pomelo-admin/lib/consoleService.js - try to connect master: "connector", "192.168.1.67", 3005

补一个日志输出。

#2 {1} xiecc 2013-4-22 11:58 回复

端口补占了, 有进程没杀干净。 用 pomelo kill --force 命令清一下进程

wang4142 2013-4-22 15:01 回复

我确认进程都杀死干净了, 但是 console 只输出了 connect to ws://192.168.1.67:3010

FF 和 chrome 过了一会 有输出
socket error: error
build.js (第 1423 行)
socket close:
close build.js (第 1427 行)
Firefox 无法建立到 ws://192.168.1.67:3010/ 服务器的连接。
重新载入页面以获取源代码: http://192.168.1.67:3001/js/lib/build/build.js

日志里 都是 INFO 没有error

#3 {1} zhepama 2013-4-22 12:16 回复

同样的错误问题..杀了进程没用

wang4142 2013-4-22 15:01 回复

我确认进程都杀死干净了, 但是 console 只输出了 connect to ws://192.168.1.67:3010

FF 和 chrome 过了一会 有输出
    socket error: error
    build.js (第 1423 行)
    socket close: 
    close build.js (第 1427 行)
    Firefox 无法建立到 ws://192.168.1.67:3010/ 服务器的连接。
    重新载入页面以获取源代码: http://192.168.1.67:3001/js/lib/build/build.js

日志里 都是 INFO 没有error

#4 {5} halfblood 2013-4-22 12:45 回复

是端口占用的问题,ps看看,有时候需要手动Kill。

wang4142 2013-4-22 15:01 回复

我确认进程都杀死干净了, 但是 console 只输出了 connect to ws://192.168.1.67:3010

FF 和 chrome 过了一会 有输出
    socket error: error
    build.js (第 1423 行)
    socket close: 
    close build.js (第 1427 行)
    Firefox 无法建立到 ws://192.168.1.67:3010/ 服务器的连接。
    重新载入页面以获取源代码: http://192.168.1.67:3001/js/lib/build/build.js

日志里 都是 INFO 没有error

xiecc 2013-4-22 15:37 回复

@wang4142 telnet 试下, 确定一下这个ip和端口是否通的

wang4142 2013-4-23 10:41 回复

@xiecc 可以的~ 哎 不知道是咋回事,我下了好几个demo 都是出现这个问题,ws连接不上~

xiecc 2013-4-23 14:38 回复

@wang4142 汗,很奇怪啊, 客户端是先连gate服务器的,端口3014,然后断开gate连connector,端口3010。 这提示至少证明3014端口的gate服务器已经连上了

wang4142 2013-4-24 10:24 回复

@xiecc 昨天看其他人有说到版本问题,我决定更换下版本试试,pomleo 刚升级, nodejs目前是1.0 准备降到0.8 试试!

#5 jzping 2013-5-9 18:00 回复

1006 CLOSE_ABNORMAL Reserved. Used to indicate that a connection was closed abnormally (that is, with no close frame being sent) when a status code is expected.

#6 jzping 2013-5-10 16:10 回复

以上问题,我在treasures demo项目中也碰到了,建议更新pomelo的版本。我用treasures Github 中的的pomelo 缺省配置是0.3.1,一直运行不起来,该成最新pomelo版本,demo就可以跑起来了。

#7 sunway1016 2013-5-24 22:15 回复

确实把pomelo从0.3.5更新到0.3.9就跑通了,不容易啊,折腾了几天了。

#8 gl145698789 2014-1-16 18:48 回复

我也碰到了 , 我pomelo是在一个服务器上面, 不是在本地
修改服务器中index.html中 script代码就可以了
我的项目路径为/data/www/chatpomelo
vi /data/www/chatpomelo/web-server/public/index.html


var pomelo = window.pomelo;
var host = "10.207.34.95"; //这里修改为你服务器的地址
var port = "3010";
function show() {
pomelo.init({
host: host,
port: port,
log: true
}, function() {
pomelo.request("connector.entryHandler.entry", "hello pomelo", function(data) {
alert(data.msg);
});
});
}

#9 ichenxiaodao 2014-6-28 17:40 回复

我刚才也碰到这个问题。
我先测试production环境启动pomelo。然后我再回到development,就出现这个ERROR。

最后用pomelo kill --force解决问题。

回到顶部