[英]Why am i getting 'timeout' error on socket.io and self-signed ssl connection
[英]Why am I not getting any response from socket.io connection event
我刚刚开始使用 socket.io 并且练习我想创建一个服务器,每次与客户端建立连接时,它的 output 都会告诉我“用户已连接”。 我认为只需启动服务器并转到localhost:5000
即可建立连接。 之后,我会在控制台的连接中看到 output 消息。
const express = require('express') const app = express() app.get('/', (req, res) => { res.send('I am alive') }) PORT = process.env.PORT || 5000 const server = app.listen( PORT, () =>{ console.log(`Listening to http://localhost:${PORT}`)}) const io = require('socket.io')(server) io.on('connection', function(socket) { console.log('A user connected');})
对于这个过程,我输入node server.js
,等到出现正在Listening to http://localhost:5000
的消息,然后我 go 到页面。 但是当我导航到该页面时,我看不到控制台消息。 显示消息是否需要 html 文件? 还是我没有看到重要的一步? 我看过一些教程,但它们都使用 html 文件,我想避免这一步。 非常感谢!
通过编写此代码在服务器上
io.on('connection', function(socket) {
console.log('A user connected');
})
您正在收听连接,并且有人在某处必须连接到与您的服务器相同的 url 上的此服务器的套接字,例如像这样
var socket = require('socket.io-client')('http://localhost:5000');
socket.on('connect', function () {
socket.on("FromAPI", data => {
setResponse(data);
});
socket.emit("FromAPI")
}
当您在 html 或任何其他代码中的任何位置进行套接字连接时,console.log() 将在服务器上打印数据
您共享的代码也是您需要设置客户端的服务器端。
客户端:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js"></script>
<script>
var socket = io('http://localhost:<PORT>');
</script>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.