【发布时间】:2019-09-28 20:08:50
【问题描述】:
Socket.IO 在本地工作,但在通过 Netlify 部署时不工作 请原谅我的代码,我是 node.js 等的新手。
这是我得到的错误: 加载资源失败:服务器响应状态为404()(socket.io,第0行)
客户:
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.dev.js"></script>
function syncObj() {
var socket = io.connect()
socket.emit('sync', `${objId}`)}
// Listen for events
function syncComplete() {
var socket = io.connect()
socket.on('sync', function (data) {
objId = data
noti5()
document.getElementById("note4").style.display = "none";
document.getElementById("note6").style.display = "none";
// What do do when sync is complete
// Say Something
// Refresh Screen
})
}
//Server:
const express = require('express');
const opn = require('opn');
const app = express();
const port = 5000
var socket = require('socket.io')
const cors = require("cors")
function allowCrossDomain(req, res, next) {
res.header('Access-Control-Allow-Origin', '*')
res.header('Access-Control-Allow-Methods', 'PUT, POST, PATCH, DELETE, OPTIONS');
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next()}
app.use(allowCrossDomain)
app.use(cors())
app.use('/', express.static(__dirname + '/public'))
var server = app.listen(port, function () {
console.log('listening to request on port 5000');
opn(`http://localhost:${port}`);
});
// Socket Setup
var io = socket(server);
io.on('connection', function (socket) {
console.log('made socket connection', socket.id)
socket.on("sync", function(data){
io.sockets.emit('sync', data)
})
})
在本地完美运行。请帮忙。
【问题讨论】:
-
嗯,可以分享一下代码吗?
-
@Mikkel 抱歉,刚刚添加。
-
您的客户托管在哪里?
标签: javascript node.js express socket.io