【发布时间】:2020-01-02 16:22:45
【问题描述】:
我设置了一条从openweathermap API获取城市天气的路线
index.js 文件
var express = require("express"),
router = express.Router();
var weather = require("openweather-apis");
router.get("/weather", function(req, res){
weather.setCity('Miami');
weather.setAPPID(appID);
weather.getAllWeather(function(err, allWeather){
res.json({allWeather: allWeather});
});
});
我想为此路由设置一个 websocket,这样每次发生变化时,我都会得到一个可以显示给用户的更新。我试过这个:
index.ejs 文件
<script src="https://cdn.jsdelivr.net/npm/socket.io-client@2/dist/socket.io.js"></script>
<script>
var socket = io('http://localhost:3000/weather');
socket.on('connect', function(){});
socket.on('event', function(data){
// do something
});
socket.on('disconnect', function(){});
</script>
但我不断收到错误。如果有人可以让我知道我做错了什么,请帮忙!
我收到以下错误:
index.js:83 GET http://localhost:3000/socket.io/?EIO=3&transport=polling&t=Mzd4Dpj 404 (Not Found)
【问题讨论】:
-
请发布错误详情。
-
更新了错误答案!
-
websockets 提供路由?我认为显示的第一个代码是一个 express.js,它提供了一个 Web 服务器,第二个是 Socket.io,它依赖于一个 WebSOCKETServer。这不会一起工作
-
@Mandalina - 你启动了服务器吗?我:e
node server.js (or your backend file)? -
@random ya 我已经开始了,这就是我得到的错误
标签: javascript express websocket