JavaScript - 如何为 Socket.io 事件创建自定义 API 侦听器?

我正在尝试为我网站上的 3 位开发人员创建自定义API 侦听器。它应该是这样的:


// Function will be fired when any user joins to room

API.on('user-join', function(data){

  console.log(data); // Data is object with user id and name

});

我也有Socket.io 监听器:


// This handler is fired every time when anyone joins

socket.on('user-join', function(data){

  // Probably here i should call a callback to API.on('user-join') with that data object

});

如何将 Socket.io 处理程序中的回调发送到我自定义创建的 API?请让我知道如何做到这一点。谢谢。


HUH函数
浏览 175回答 2
2回答

小怪兽爱吃肉

你把事情搞混了。您的套接字 API 将需要一个独立于您的套接字 API 的服务器端侦听器,据我所知,它通过连接的客户端管理 IO,对吗?在这种情况下,您不必绑定任何东西。您需要一个用于 API 套接字的控制器,并且您客户端的控制器必须向这些用户触发事件。客户端连接到您的站点服务器收到通知服务器通知 API 用户这是一些伪代码,请不要使用它,它只是说明了一个概念:Dconst thrdUsers = [.....] // socket connectionsconst onThirdUserConnects = socket => thrdUsers.push(socket);API.on('connect', onThirdUsersConnects);// Then you need a broadcast function to send events to all your clientsconst broadcastToAPI = (msg, val) => thrdUsers.forEach(s => s.send(msg, val));// Your users will trigger events to your socket.io servicesocket.on('whatever-event', (data) => {  //...Do stuff  // notify the API clients  broadcastToAPI('whatever-event', data);});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript