Javascript 如何同时托管socket.io服务器和http服务器?

Javascript 如何同时托管socket.io服务器和http服务器?,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,我有一个Socket.io服务器和一个基本的HTTP服务器,我把它们编码在一起,但问题是HTTP服务器试图服务Socket.io应该服务的请求 代码: ResourceRequestHandler是通过检查URL然后在该位置打开文件来提供资源的文件, 但是它也提供/socket.io请求。我会让socket.io监听另一个端口,让常规http服务器直接向它发送请求,这样你就可以确保它们不会相互干扰 // create server io = http.createServer(); io.on

我有一个
Socket.io
服务器和一个基本的HTTP服务器,我把它们编码在一起,但问题是HTTP服务器试图服务
Socket.io
应该服务的请求

代码:

ResourceRequestHandler是通过检查URL然后在该位置打开文件来提供资源的文件,
但是它也提供/socket.io请求。

我会让socket.io监听另一个端口,让常规http服务器直接向它发送请求,这样你就可以确保它们不会相互干扰

// create server
io = http.createServer();
 io.on('uncaughtException', function(exception) {
 console.log(exception);
});
io.listen(4001);

http.createServer(RequestHandler)
newhttp.Server(RequestHandler)
work

基于Socket.IO 0.9.6

在socket.io之前附加自定义请求侦听器非常重要。然后,Socket.IO将为它可以处理的请求提供服务,并将所有其他请求委托给您自己的请求侦听器

socket.io/lib/manger.js中的算法如下所示。 在构造函数中: 1.删除所有现有的请求侦听器。 2.附加Socket.IO请求侦听器。 应要求: 1.试着处理这个请求。
2.如果Socket.IO无法处理该请求,它会将请求委托给原始侦听器,这些侦听器是先前在构造函数中删除的。

我发现Socket.IO网站上的示例是可以理解的,您可能应该尝试并坚持这些示例,直到您不得不离开它们为止
// create server
io = http.createServer();
 io.on('uncaughtException', function(exception) {
 console.log(exception);
});
io.listen(4001);