我有一个运行IIS的Windows服务器和带有socket.io的node.js,用于我正在开发的交互式白板应用程序.我希望IIS网站和node.js服务器都在端口80上侦听,但绑定到不同的IP地址.
根据我的发现,socket.io无法指定IP地址.可以通过创建http服务器实例来克服此限制.我是socket.io和node.js的新手,尝试这样做有点失落.我将包括原始服务器代码(侦听特定端口)以及我尝试在特定IP地址上实例化服务器.
原版的
(function() {
var io;
io = require('socket.io').listen(80);
io.sockets.on('connection', function(socket) {
socket.on('drawClick', function(data) {
socket.broadcast.emit('draw', {
x: data.x,
y: data.y,
type: data.type
});
});
});
}).call(this);
Run Code Online (Sandbox Code Playgroud)
改性
(function() {
var host = "10.70.254.76";
var port = 80;
var http = require("http").createServer();
var io = require("socket.io").listen(http);
http.listen(port, host);
io.sockets.on('connection', function(socket) {
socket.on('drawClick', function(data) {
socket.broadcast.emit('draw', {
x: data.x,
y: data.y,
type: data.type
});
});
});
}).call(this);
Run Code Online (Sandbox Code Playgroud)
我得到错误:在启动修改后的代码时听EACCES