2013-03-08 48 views
6

Iam在node.js聊天应用程序上工作,我在Windows上的IIS上托管了node.js。 我的意图是在Asp.net mvc中包含node.js,如Jon Galloway所解释的,用于在asp.net web应用程序中执行聊天(文本,音频,视频)。Uncaught TypeError:无法调用null的方法'onClose'

我的安装细节:
iisnode.js - iisnode-全IIS7-v0.2.3-86
的node.js - 节点v0.8.19-86
express.js版本 - 3.1.0
socket.io版本 - 0.9.13
在Windows 7 32位系统的IIS 8.0快递

我已经成功地举办了node.js的IIS上,并运行样本

但我当启动coading socket.io我被困..

当我开始与客户端浏览器连接到服务器时,我得到了在客户端浏览器说
遗漏的类型错误错误:无法调用空socket.io的方法“的OnClose”。 JS:1771

在我的服务器应用程序使用IAM配置socket.io作为

io.configure(function() { 
    io.set('transports', [  
      'xhr-polling' 
     , 'jsonp-polling' 
     ]); 
     io.set("polling duration", 10); 
     if (process.env.IISNODE_VERSION) { 
      io.set('resource', 'node/socket.io'); 
     } 
    }); 

是这个问题涉及到的版本使用的IAM(快递,和Node.js的socket.io),或在我的coading ,关于这个问题的任何想法,请帮助我。

谢谢。

回答

7

我认为这是因为您没有在客户端socket.io配置中设置资源路径。

socket = io.connect('http://myurl/node/socket.io', { resource : 'node/socket.io' }) 
+0

恰到好处。整个文档面向根级服务器。一旦你移动的东西的文件不明显。在https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO中,关于配置“资源”的注释说“这应该与客户端和服务器相同”,并在配置客户端时指出你不使用领先的'/',并在配置你的服务器时使用。 – natbro 2013-08-20 12:18:43

+0

对于任何人从谷歌到这里,也请看下面的问题,以了解如何正确设置io.connect()的第一个参数 - http://stackoverflow.com/a/9373699/753129 – alnafie 2013-12-03 11:05:20

+2

这是什么资源应该映射到? – chovy 2013-12-06 11:24:13

相关问题