Javascript" this.socket.of ..."这行代码意味着什么/做什么

时间:2017-02-02 12:05:52

标签: javascript sockets

我已经开发了这个节点js蛇游戏,作为一个初学者,我一直在复制和粘贴其他人所做的一些代码,现在我回到我的项目并评论和弄清楚每一行代码呢。我遇到了这两行看似相似的代码,但是如果我拿出一个代码,游戏仍然正常运行,我担心我会在幕后取出重要的东西

我不认为听众是相关的,但以防万一。提前致谢

1 个答案:

答案 0 :(得分:0)

您的套接字似乎实现了一个事件发射器。这意味着它实现了一个发出事件的方法(你可以随时随地调用)和一个注册事件监听器的方法。

查看nodejs EventEmitter API:https://nodejs.org/api/events.html

服务器似乎也有一个事件发射器,“server.em”。

我猜你的代码在播放器连接时发出两个事件,一个来自套接字事件发射器(第一行),第二个来自“全局”服务器事件发射器。我想这是预期的目的。由于我没有关于你在那里做了什么的更多信息,我不能告诉你为什么它是这样的:)

删除第一行似乎没有做任何事情,因为您没有在套接字上注册事件侦听器。或者,如果你这样做,它不会做任何可见的事情。

尝试添加事件监听器:

server.socket.of("/snake").addListener("server.spawnSnake", function(playerId) {
    console.log("Socket: snake spawn for player "+playerId);
}

只有保留第一行,您才会看到该消息显示。