【发布时间】:2020-03-21 01:56:41
【问题描述】:
我正在尝试在我的网站上实现聊天,但我无法让 socket.io 在我的本地网络上工作(它适用于 localhost,但我无法从另一台机器访问它)。 服务器代码:
const path = require('path');
const host = '0.0.0.0';
const port = 3000;
const express = require('express');
const app = express();
const cors = require('cors');
const http = require('http').createServer(app);
const io = require('socket.io')(http);
const bodyParser = require('body-parser');
const script = require('./script');
app.use(cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.listen(port, host, function() {
console.log('Running at: ',host,port);
});
app.use(express.static('public'));
app.use(express.json({limit:'1mb'}));
客户端代码:
const socket = io();
index.html:
<!DOCTYPE html>
<html>
<head>
<title>Proflands!</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="client.js"></script>
<script src="/socket.io/socket.io.js"></script>
</head>
<body> </body>
</html>
我得到的错误:
加载资源失败:服务器响应状态为 404 (Not Found) socket.io.js:1
我的代码来自:https://socket.io/get-started/chat
如果我使用“http://localhost:3000”,它可以工作,但我希望它在整个本地网络上工作。
【问题讨论】:
-
是的,这实际上是正确的答案。我在实现 socket.io 并将其更改为 http.listen 之前使用 app.listen 解决了它!谢谢:D
-
np,很高兴它有帮助