【发布时间】:2013-12-15 16:32:30
【问题描述】:
在这个 node.js 论坛应用程序https://github.com/designcreateplay/NodeBB 中,它允许您关注站点上的其他用户,我注意到它似乎使用套接字来传达我本来希望通过 ajax 发布请求传达的信息。例如,当您单击按钮关注另一个用户(此论坛软件允许)时,客户端上的套接字会发出一个 'api:user.follow' 事件,然后在服务器上侦听该事件,如下所示.
你能解释一下为什么有人愿意或不愿意使用套接字而不是 ajax 来实现这种类型的功能吗?我认为每个都有优点和缺点,但我不知道它们。
客户
followBtn.on('click', function() {
socket.emit('api:user.follow', {
uid: theirid
}, function(success) {
if (success) {
followBtn.addClass('hide');
unfollowBtn.removeClass('hide');
app.alertSuccess('You are now following ' + username + '!');
} else {
app.alertError('There was an error following' + username + '!');
}
});
return false;
});
服务器
socket.on('api:user.follow', function(data, callback) {
if (uid) {
user.follow(uid, data.uid, callback);
}
});
【问题讨论】: