Yos*_*shi 14 node.js socket.io
在新的socket.io v0.7中,有一个新功能"易失性消息".
在"如何使用"中,他们这样写:(在http://socket.io/#how-to-use)
发送易失性消息.
有时可以删除某些消息.假设你有一个应用程序显示关键字的实时>推文
bieber
.如果某个客户端还没有准备好接收消息(因为网络速度慢或其他>问题,或者因为他通过长轮询连接并处于请求 - >响应周期的中间),如果他没有收到所有推文与bieber相关的申请>不会受到影响.
在这种情况下,您可能希望将这些消息作为易失性消息发送.
因为我认为volatile是不一致的,所以为什么他们告诉我们应该使用volatile消息来表示我们不能错过的消息类型?那些默认消息呢?我必须做些什么来确保消息将传达给客户?
此外,我还想问一下xhr-multipart传输.我没有在v0.7中的传输列表中看到它.它被删除了吗?
Alf*_*red 13
就像它说通常socket.io跟踪它收到的消息,如果我用户错过了一条消息,它将再次发送.如果您不希望这种开销(额外工作),您可以使用易失性消息,用户可能会错过消息.如果您还希望收到消息,则可以使用确认(回调)=>
服务器:
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
socket.on('ferret', function (name, fn) {
fn('woot');
});
});
Run Code Online (Sandbox Code Playgroud)
客户:
<script>
var socket = io.connect(); // TIP: .connect with no args does auto-discovery
socket.on('connection', function () {
socket.emit('ferret', 'tobi', function (data) {
console.log(data); // data will be 'woot'
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
我也找不到xhr-multipart,但我想如果你真的想知道你可以问Guille吗?
归档时间: |
|
查看次数: |
9232 次 |
最近记录: |