【发布时间】:2015-09-15 06:39:15
【问题描述】:
我正在使用 socket.io v1.3.6 (nodejs) 并尝试使用以下代码从浏览器发出数据。
客户端代码
var socket = io.connect('http://something.com:3300/');
function sendMessage(message) {
socket.emit('message', message);
}
服务器代码
var io = require('socket.io').listen(3300);
io.sockets.on('connection', function (socket) {
messageHandler(socket);
});
function messageHandler(socket) {
socket.on('message', function (data) {
console.log('Captured a message : ' + data);
});
}
我的套接字服务器 http://something.com:3300/ 最初已关闭,并尝试调用几个 sendMessage() - (比如大约 10 个调用)
在浏览器中,我会在控制台日志中收到握手错误。
我等了 5 分钟,然后启动了套接字服务器。
但令人惊讶的是,一旦建立握手,离线期间发送的所有消息都会在服务器中捕获。
我的问题: 1) 这个离线逻辑是 socket.io 或 WebSocket 规范的一部分吗? 2)我搜索了很多离线模式socket.io的问题,看到一些特殊的处理建议来捕获离线消息。但是,如果没有这些特殊的离线检查,这将如何运作呢?
【问题讨论】:
标签: javascript node.js sockets