node.js - 如何在socket.io的房间中从客户端调用函数?

标签 node.js express sockets socket.io

如何在套接字的特定房间中的所有功能下面调用我成功创建了房间并通过connectToRoom函数将其加入,但是现在我想调用在服务器端发出的其他函数,但是我只收到打印出来的消息“您在房间里1“app.js

 var app = require('express')();
 var http = require('http').Server(app);
 var io = require('socket.io')(http);

 app.get('/', function(req, res) {
 res.sendfile('index.html');
});

io.on('connection', async (socket) => {
console.log('socket connected')

 const userId =  socket.id
 //  const emailId= await fetchemailId(socket); default room
 io.sockets.adapter.rooms
 socket.join(userId);

 //Send this event to everyone in the room.
 io.sockets.in("room-"+userId).emit('connectToRoom', "You are in room no. "+userId);
 io.to(userId).emit('Image upload');
 console.log(sockets.rooms)
 io.to(userId).emit('progress', "Image is Uploading started Please Wait A minute");
 io.to(userId).emit('error', "clients connected!");

});


http.listen(3000, function() {
   console.log('listening on localhost:3000');
});
默认房间referenceindex.html
 <!DOCTYPE html>
 <html>

 <head>
     <title>Hello world</title>
 </head>
 <script src="/socket.io/socket.io.js"></script>

 <script>
   var socket = io();

    socket.on('connectToRoom', function (data) {
       document.body.innerHTML = '';
       document.write(data);

         socket.on('error', function (data) {
         document.body.innerHTML = '';
         document.write(data)
       });
         socket.on('progress', function (data) {
         document.body.innerHTML = '';
         document.write(data)
      });

 </script>

 <body></body>

 </html>

最佳答案

在下面提到的一个功能中添加所有套接字代码
导入jquery

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
功能
 $(document).ready(function () { 
      //socket.io code
 });

关于node.js - 如何在socket.io的房间中从客户端调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64136132/

相关文章:

node.js - 获取连接到我的本地 Express 服务器的系统的 IP

node.js - 如何在 Node.js 中使用相同的键设置多个 http header 字段?

node.js - 无法将插件添加到cordova项目。 npm错误?

javascript - Node js窗口对象

javascript - Node-postgres 将新记录插入我的数据库不会返回新条目的数据

javascript - Node.js 上的 VAR 声明

javascript - 是否有一个相当于 php get_class 函数的nodejs 来检测javascript 对象的确切类型?

c - Netcat套接字编程

c# - Socket.UseOnlyOverlappedIO?

java - 非阻塞套接字