gpt4 book ai didi

sockets - socket.emit()与socket.send()

转载 作者:行者123 更新时间:2023-12-03 12:07:10 34 4
gpt4 key购买 nike

两者有什么区别?

我注意到,如果我在工作程序中从socket.emit更改为socket.send,则服务器无法接收到该消息,尽管我不明白为什么。

我还注意到,在我的程序中,如果我从socket.emit更改为socket.send,则服务器会收到一条消息,但它似乎多次收到。当我使用console.log()查看服务器收到的内容时,它显示出与我使用socket.emit时有所不同的东西。

为什么会这样呢?您如何知道何时使用socket.emitsocket.send

最佳答案

使用socket.emit,您可以像这样注册自定义事件:

服务器:

var io = require('socket.io').listen(80);

io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});

客户:
var socket = io.connect('http://localhost');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});

Socket.send的功能相同,但是您不注册“news”而是发送消息:

服务器:
var io = require('socket.io').listen(80);

io.sockets.on('connection', function (socket) {
socket.send('hi');
});

客户:
var socket = io.connect('http://localhost');
socket.on('message', function (message) {
console.log(message);
});

关于sockets - socket.emit()与socket.send(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65927308/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com