为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我没有收到来自 socket.io 连接事件的任何响应

为什么我没有收到来自 socket.io 连接事件的任何响应

饮歌长啸 2022-10-13 17:14:21
我刚刚开始使用 socket.io 并练习我想创建一个服务器,每次与客户端建立连接时,它的输出都会告诉我“用户已连接”。我认为只需启动服务器并转到localhost:5000. 之后,我会在控制台中看到来自连接的输出消息。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出现,然后转到页面。但是当我导航到该页面时,我看不到控制台消息。显示消息是否需要 html 文件?还是我没有看到重要的一步?我看过一些教程,但它们都使用 html 文件,我想避免这一步。非常感谢!
查看完整描述

2 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

通过编写此代码在服务器上


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() 将在服务器上打印数据


查看完整回答
反对 回复 2022-10-13
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

您共享的代码也是您需要设置客户端的服务器端。


客户端:


<!DOCTYPE html>

<html>

<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>


查看完整回答
反对 回复 2022-10-13
  • 2 回答
  • 0 关注
  • 169 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信