gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 21:46:46 27 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 做同样的事情,但你没有注册到“新闻”,而是注册到消息:

服务器:

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/11498508/

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