我正在开发我的汽车预订网络应用程序.. 我在开发环境中使用 Nodejs 和 socket.io.. 它与 socket.io 的实时通信工作得很好。 但是当我尝试在 Heroku 上部署它时,这是一场噩梦,因为它是我在部署阶段的第一个项目。 在部署中,在我遇到一堆错误后,这个在浏览器控制台中非常顽固地显示:
网::ERR_SSL_PROTOCOL_ERROR
ReferenceError: io 未在myScript中定义.js
服务器上的代码
let express = require('express');
let app = express();
let http = require('http').Server(app);
let io = require("socket.io")(http);
app.use("/", require('../routing'));
io.on('connection', (socket) => {
socket.on('greet',(params)=>{
console.log(params)
})
});
目录
<script src="https://realtimeapp.herokuapp.com:80/socket.io/socket.io.js"></script>
<script src="/web-sockets/myScript.js"></script>
我的脚本.js
let socket = io.connect('https://realtimeapp.herokuapp.com:80')
socket.emit('greet', "hello!")
我想我搞砸了铭文标签。.
提前谢谢你
您是否在服务器端使用了以下代码
http.listen(process.env.PORT)
如果您使用它,则可以使用服务器端。
在客户端,您无需提供应用程序的整个 URL。 只需使用以下代码
<script src="/socket.io/socket.io.js"></script>
<script src="/web-sockets/myScript.js"></script>
在脚本中.js使用
let socket=io()