socket.io v1.3.6 (nodejs) ile çalışıyordum ve aşağıdaki kodu kullanarak tarayıcıdan veri göndermeye çalıştım.socket.io, sunucu çevrimdışıyken kullanıma yayar
Müşteri Kodu
var socket = io.connect('http://something.com:3300/');
function sendMessage(message) {
\t socket.emit('message', message);
}
Sunucu Kod
var io = require('socket.io').listen(3300);
io.sockets.on('connection', function (socket) {
messageHandler(socket);
});
function messageHandler(socket) {
socket.on('message', function (data) { \t
\t console.log('Captured a message : ' + data); \t
});
}
benim soket sunucusu http://something.com:3300/ başlangıçta aşağı olduğunu ve() birkaç sendMessage aramaya çalıştım - i konsol günlüğüne el sıkışma hatası alırsınız tarayıcıda Beklendiği gibi
(yaklaşık 10 çağrıları demek).
5 dakika bekledim ve soket sunucusunu başlattım.
Ancak şaşırtıcı bir şekilde, çevrimdışı olarak gönderilen tüm iletiler, el sıkışma kurulduktan sonra sunucuda yakalanır.
Sorularım: 1) Bu çevrimdışı mantık socket.io veya WebSocket belirtiminin bir parçası mı? 2) Çok sayıda çevrimdışı mod socket.io sorusu araştırdım ve çevrimdışı mesajları yakalamak için bazı özel işlem önerileri gördüm. Ama bu özel çevrimdışı çekler olmadan nasıl çalışır?
Teşekkürler, açıklıyor! Bağlı olduğunda, emitBuffers'daki tüm verileri yayacaktır ... Tarayıcı açık tutulduğu sürece güvenilir yapar. – Shabeel
Peki, cevabımı kabul edermisin? Yardım ettiğim için çok mutluyum :) – gabowsky