socket.io http侦听本地主机

socket.io http listen on localhost

本文关键字:主机 io http socket      更新时间:2023-09-26

我正在尝试连接localhost上的wamp服务器,该服务器是一个html页面。

到目前为止,我有这个:

//SOCKET.IO Setup
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http); //initialise after http server
io.on('connection', function(socket){
  console.log('a user connected');
  socket.on('disconnect', function(){
    console.log('user disconnected');
  });
});
http.listen('/wheel', function(){
  console.log('listening on */wheel');
});
app.get('/', function(req, res){
  res.sendfile('wheel.html');
});

我在www/wheel中有HTML页面,该HTML页面被称为wheel.HTML

这是我得到的错误:

[17:08:51] error  - Error: listen EACCES
    at exports._errnoException (util.js:746:11)
    at Server._listen2 (net.js:1139:19)
    at listen (net.js:1182:10)
    at Server.listen (net.js:1261:5)
    at Object.<anonymous> (C:'Family'wheel.js:14:6)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)

如何使用socket.io正确连接到本地主机中的web目录?它在我使用插座和端口时工作:

http.listen(1000, function(){
  console.log('listening on *:1000');
});
app.get('/', function(req, res){
  res.sendfile('wheel.html');
});

问题是您试图让HTTP服务器侦听名为/wheel的UNIX套接字,而您没有创建该文件的正确权限。

如果您希望能够在客户端调用服务器上的/时提供HTML文件(例如,服务器正在监听端口3000):

http.listen(3000);
...
app.get('/', function(req, res){
  res.sendfile('./www/wheel/wheel.html');
});