解决方案:
访问您的IP在浏览器中后,你 “节点server.js” 来启动的连接。不知道为什么它有效,但它对我有用。
它是如何走过来的
Mkay ..作出重建切片(在slicehost托管,如果该事项),并重新安装节点,WebSocket的服务器我仍然有同样的问题后。我检查了正常请求是否正常工作(在浏览器中输入IP)。它似乎也启动了套接字连接,所以我现在可以通过这些连接进行连接。
我想使用node.js和websocket-server模块连接到套接字服务器。
服务器端是这样的:
var server = ws.createServer();
server.listen(80);
server.addListener("request", function(req, res) {
res.writeHead(200, {
"Content-Type": "text/plain"
});
res.write("Hey! This is totally not the site you planned to visit.");
res.end();
});
server.addListener("connection", function(conn) {
conn.addListener("readyStateChange", function(readyState) {
});
conn.addListener("open", function() {
});
conn.addListener("close", function() {
});
conn.addListener("message", function(message) {
server.broadcast(conn._id + ": "+message);
});
});
标准程序。当试图从这样的客户端连接...
if (window["WebSocket"]) {
connection = new WebSocket("ws://[my IP]:80/");
connection.onopen = function(event) {
console.log("connection open");
}
connection.onclose = function(event) {
console.log("connection closed");
}
connection.onerror= function(event) {
console.log("connection error");
}
connection.onmessage = function(event) {
console.log(event.data);
};
}
...我收到以下错误:
_linklist.js:65
item._idleNext = list._idleNext;
TypeError: Cannot read property '_idleNext' of undefined at Object.append (_linklist.js:65:24) at Object.active (timers.js:136:9) at Socket._writeOut (net.js:461:10)
at Socket.write (net.js:378:17)
at Object.draft76 ([my dir]/npm/node_modules/websocket-server/lib/ws/connection.js:401:28)
at new Connection ([my dir]npm/node_modules/websocket-server/lib/ws/connection.js:165:22)
at Server.<anonymous> ([my dir]npm/node_modules/websocket-server/lib/ws/server.js:72:7)
at Server.emit (events.js:81:20)
at Socket.<anonymous> (http.js:1034:14)
at Socket._onReadable (net.js:684:27)
它并运行一段时间(这是奇怪我猜),然后每当我尝试连接时都会显示此消息。我没有改变node.js或websocket-server代码中的任何内容。一分钱给任何人可以告诉我为什么会发生这种情况!
我有这个确切的问题。你是怎么碰到这个解决方法的?你不觉得它必须是我们的Node和websocket-server代码的版本不兼容吗? – jottos 2011-09-14 23:49:18
是的,如果我不记得它错了,我有一个夜间建立的节点,显然是不稳定的。花了一段时间来弄清楚,因为我在安装Node的同时遵循了一个教程,并且不知道我得到了夜间版本。 所以这绝对是第一件要做的事情,如果您还没有解决您的问题 - 请检查您的Node版本。 :) – 2011-09-26 10:05:29
您可以考虑发布_solution_作为答案,而不是将其编辑到问题中。 – 2011-12-30 12:21:48