我正在开发 node.js 聊天应用程序,我在 Windows 的 IIS 上托管了 node.js。 我的意图是将 node.js 包含在 Asp.net mvc 中,如 Jon Galloway 所解释的那样用于在 asp.net web 应用程序中执行聊天(文本、音频、视频)。
我的安装细节:
iisnode.js - iisnode-full-iis7-v0.2.3-x86
node.js - node-v0.8.19-x86
express.js 版本 - 3.1.0
socket.io 版本 - 0.9.13
在带有 IIS 8.0 express 的 Windows 7 32 位系统上
我已经在 IIS 上成功托管了 node.js,并运行了示例
但是当我开始编写 socket.io 时,我卡住了..
当我开始将客户端浏览器连接到服务器时,我在客户端浏览器上收到一条错误消息
未捕获的类型错误:无法调用 null socket.io.js 的方法“onClose”: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');
}
});
此问题是否与我使用的版本有关(express 和 socket.io node.js)或在我的代码中,有关此问题的任何想法请帮助我。
谢谢。
最佳答案
我认为是因为你没有在客户端socket.io配置中设置资源路径。
socket = io.connect('http://myurl/node/socket.io', { resource : 'node/socket.io' })
关于node.js - 未捕获的类型错误 : Cannot call method 'onClose' of null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15295672/