【问题标题】:apache node js socket.io error connection refusedapache节点js socket.io错误连接被拒绝
【发布时间】:2022-02-10 03:28:24
【问题描述】:

apache上有一个php文件:

<script src="/../node_modules/socket.io/client-dist/socket.io.js"></script>

let socket = io.connect( 'http://localhost:3000' );

socket.on('update', function updateData(sounds) {
    console.log(sounds);
});

和节点js在同一个目录

let http = require('http');
let express = require('express');
let path = require('path');
let socketIO = require('socket.io');
let app = express();
let server = http.Server(app);
let io = socketIO(server);

app.set('port', 3000);

server.listen(3000, function() {
   console.log('listening on *:3000');
});

io.on('connection', function(socket) {
   console.log('A user connected');
  
   socket.on('disconnect', function() {
      console.log('A user disconnected');
   });
   
});

浏览器抛出错误:GET http://192.168.100.31/socket.io/?EIO=4&transport=polling&t=NxOsf3z 404 (Not Found)

如果替换 let socket = io.connect( 'http://localhost:3000' ) 上 让socket = io.connect('http://192.168.100.31:3000'); 浏览器将给出另一个错误:CORS 已阻止从源“http://192.168.100.31”访问“http://192.168.100.31:3000/socket.io/?EIO=4&transport=polling&t=NxOt0X0”处的 XMLHttpRequest政策:请求的资源上不存在“Access-Control-Allow-Origin”标头。

【问题讨论】:

    标签: node.js sockets socket.io


    【解决方案1】:

    只需要更换

    let socket = io.connect( 'http://localhost:3000' ); 
    

    let socket = io.connect( 'http://192.168.100.31:3000/' );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-05
      • 1970-01-01
      • 2021-12-05
      • 2016-01-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多