Javascript Socket.io仅发出大写事件

Javascript Socket.io仅发出大写事件,javascript,node.js,websocket,socket.io,Javascript,Node.js,Websocket,Socket.io,所以我想尝试一下socket.io库,所有的例子都可以很好地工作(使用小写的emit)。但是,当我尝试编写一个小ping->pong时,它不会发出事件(我可以在firefox网络选项卡中查看消息日志) 代码服务器(节点JS): 浏览器中的代码: var socket = io(); socket.on("pong", () => { console.log("recieved PONG"); }); const ping = () =&g

所以我想尝试一下socket.io库,所有的例子都可以很好地工作(使用小写的emit)。但是,当我尝试编写一个小ping->pong时,它不会发出事件(我可以在firefox网络选项卡中查看消息日志)

代码服务器(节点JS):

浏览器中的代码:

var socket = io();

socket.on("pong", () => {
    console.log("recieved PONG");
});

const ping = () => {
    socket.emit("ping");
};


document.addEventListener("mousedown", ping, false);

奇怪的是,这似乎不起作用,“Socket connected”被打印出来,但是Socket不发出任何东西。如果我将发射和on从“ping”->“ping”和从“pong”->“pong”更改为“ping”,一切都会正常工作。我只是完全搞不懂为什么会这样,为什么示例可以使用小写的emit。

既然没有与大写/小写事件名称相关的内容,您可以随意使用它们

但是,
ping/pong
实际上由socket.io服务器使用其中的几个。您可以查看列表。在页面底部=)

因此,除非您响应这些,否则您可以使用大写/小写的事件/房间名称

用户也可以监听这些事件

io.on('connect',onConnect);
函数onConnect(套接字){
socket.on('error',onError);
插座打开('disconnect','onDisconnect');
//……还有其他人。
//您还可以查看和控制乒乓球事件。
socket.on('ping',console.log);
socket.on('pong',console.log);
}
我知道socke.io的文档并不是最好的:D

顺便说一句,乒乓球的使用来自
ws
,socket.io也在内部使用它。如果你想了解更多,我将在这里留下链接,你可以看到
ping
pong
事件


另外Receiver.js:&

据我所知,对区分大小写的事件没有限制。由于
socket.io
在内部使用了
ping
pong
,可能是防止了发射?我实际上并没有检查代码,我知道你们可以监听
ping/ping
事件,但我不确定你们是否真的能发出。实际上这里有一个建议哇,我在谷歌搜索的时候没有找到那些限制性的名字。谢谢你的帮助,这完全回答了我的问题:)请发表你的评论作为回答,这样我就可以接受,你也可以赢得声誉
var socket = io();

socket.on("pong", () => {
    console.log("recieved PONG");
});

const ping = () => {
    socket.emit("ping");
};


document.addEventListener("mousedown", ping, false);