【发布时间】: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”标头。
【问题讨论】: