【发布时间】:2016-11-05 14:48:00
【问题描述】:
我正在尝试在我玩的在线浏览器游戏中创建一个新的套接字事件处理程序,以便我可以在安装了相同用户脚本的玩家之间发送数据。
游戏使用 socket.io,这是我目前所做的:我添加了一个用户端 socket.on 处理程序,如下所示:
game.socket.on("hello", function() { console.log("hello there") })
我对连接到同一游戏的两个玩家执行此操作,但当我执行此操作时:
game.socket.emit("hello")
只有发出了emit的玩家才会退出hello there。
我的猜测是服务器端没有一个处理程序来发出名称为hello 的事件。有没有办法可以在不访问服务器端代码的情况下添加它,或者绕过它并将数据直接发送给其他玩家?
【问题讨论】:
-
您将不得不显示更大的代码上下文。
game.socket.emit("hello")只会向一个套接字端点发送消息。如果该端点是您的服务器,并且您希望您的服务器随后将该消息发送给其他用户,则您需要向服务器添加代码以侦听该消息,然后在收到该消息时将其发送给其他玩家。 socket.io 是一个客户端到服务器的连接。您不能在 socket.io(或 websocket)中直接从一个客户端发送到另一个客户端。相反,您必须发送到服务器并让服务器将其转发给其他客户端。 -
谢谢你的回答,我就是这么想的
标签: javascript node.js socket.io