Socket.io: putuskan 'transportasi akhir' yang tidak dapat dijelaskan setelah memutakhirkan

Dibuat pada 3 Mar 2012  ·  73Komentar  ·  Sumber: socketio/socket.io

Setelah menambahkan ketergantungan ke package.json saya hari ini saya menghapus node_modules saya dan menjalankan npm_install. Saya tidak menentukan nomor versi apa pun untuk socket.io jadi saya kira itu mengambil yang terbaru.

Setelah saya melakukan itu saya perhatikan bahwa di dalam? sekitar satu menit setelah memulai aplikasi saya, soket saya akan terputus dan saya melihat pesan info 'transport end' di output konsol node.js. Saya mengatur socket.io hanya untuk soket web. Saya menggunakan Chrome 13 di Linux.

Saya masuk ke package.json dan mengaturnya di 0.8.7, menjalankan npm install lagi, dan sekarang saya tidak melihat pemutusan lagi.

Mudah-mudahan saya tidak hanya bingung tentang sesuatu. Saya memang kembali dan mengulangi langkah-langkahnya dan mendapatkan hasil yang sama. Maaf saya tidak memiliki informasi yang lebih spesifik.

Semua 73 komentar

0.9.1 bisa saja memperkenalkan bug dengan detak jantung yang memicu pemutusan prematur.
Saya sedang mencarinya dan mungkin memiliki 0.9.2 besok

Dito. Melihat pemutusan/koneksi ulang berulang di Chrome & FF di Mac, klien & server di mesin yang sama.
Mudah dilihat dari contoh socket.io di readme, pengaturan default tidak tersentuh.

Memiliki masalah yang sama...Saya juga memperhatikan bahwa segera setelah soket terputus, soket baru digunakan.

Solusi bagi saya adalah mengatur batas waktu tutup secara manual:

io.configure( function() {
    io.set('close timeout', 60*60*24); // 24h time out
});

Saya juga mengalami masalah ini. Terima kasih steffenwt untuk solusinya.

Ya, saya juga memiliki kesalahan ini. Saya mulai belajar socket.io beberapa hari yang lalu dan saya pikir saya melakukan sesuatu yang salah.

Menurunkan ke 0.9.0 berfungsi.

Tidak yakin apakah relevan, tetapi soket ditutup pada setiap detak jantung lainnya. Jadi begini

heartbeat2 gets sent and recieved all fine
heartbeat3 gets sens but never gets recieved
disconnect

Masuk di sini:

   debug - emitting heartbeat for client 18615332192056708826
   debug - websocket writing 2::
   debug - set heartbeat timeout for client 18615332192056708826
   info  - transport end
   debug - set close timeout for client 18615332192056708826
   debug - cleared close timeout for client 18615332192056708826
   debug - cleared heartbeat timeout for client 18615332192056708826
   debug - discarding transport

Saya juga punya masalah.

Saya menggunakan 0.91-1 .

Saya mencobanya, tetapi memiliki masalah ini.

io.configure( fungsi() {
io.set('tutup batas waktu', 60_60_24); // waktu habis 24 jam
});

Masalah yang sama disini

Apakah Anda menurunkan versi ke 0.9.0? Saya sekarang menandainya sebagai yang terbaru di NPM

masalah yang sama di sini untuk 0.9.1-1, baru saja diturunkan ke 0.9.0, dan masalahnya hilang.

sebagai solusinya, Anda dapat mengirim beberapa keep-alives dari klien, misalnya 20 detik dan segera menjawabnya dari server:

klien: setInterval(function() { socket.emit("keep-alive", null) },20*1000);
server: socket.on('keep-alive', function (data) { socket.emit('keep-alive', null); });

FWIW: Jika Anda melayani klien dari server yang berbeda, dan kode klien Anda tidak diturunkan ke 0.9.0 maka Anda masih akan melihat masalahnya.

Saya menurunkan 'socket.io' ke 0.9.0 dan saya masih melihat masalahnya. Kemudian saya menurunkan socket.io-client ke 0.9.0 dan saya tidak mendapatkan pemutusan.

Juga, transport yang saya coba yang gagal adalah soket web dan polling xhr.

Masalah ini harus ditutup, kan?

Saya memiliki masalah yang sama. Tetapi saya perhatikan bahwa itu karena saya memiliki haproxy.

Masalah saya ada di sini:

frontend all 0.0.0.0:80
    default_backend www_backend
    acl is_websocket path_beg /socket.io
    acl is_websocket hdr(Upgrade) -i WebSocket
    acl is_websocket hdr_beg(Host) -i ws
    timeout client 1000

Tepat di baris "timeout client 1000" (saya mengubahnya menjadi 1 detik untuk melihat apakah itu masalahnya, dan itu ...).

Jadi sekarang saya sedang mencari apakah ada cara untuk mengubahnya hanya untuk backend websocket.

Saya harap ini membantu seseorang :+1:

FYI, saya masih melihat masalah ini juga, dengan polling xhr dan 0.9.14. Ada pemutusan paksa setiap 25 detik. Log identik dengan di atas.

Saya juga dapat memverifikasi bahwa ini terjadi dengan server 0.9.14 dan klien 0.9. Meskipun tidak terputus setiap 25 detik, itu terputus sebentar-sebentar. Saya melacaknya ke panggilan stream.emit('end'); di _stream_readable.js node.js. Saya pikir itu adalah hasil dari membaca EOF di buffer.

@citosid mengapa batas waktu klien haproxy menyebabkan ini?

Terjadi dengan 0.9.16. Hal yang sama seperti untuk BoarK

Apakah dukungan socket.io mati?

@joefaron Harus ada dukungan sebelum bisa mati. Jadi tidak, dukungan Socket.IO tidak mati, hanya tidak pernah ada.

Masalah yang sama di sini dengan Socket.io 0.9.16 - Melihat koneksi turun setiap ~25 detik dan log menunjukkan "membuang transportasi" pada saat yang sama.

Menurunkan ke 0.8.6 pada dasarnya memperbaiki segalanya untuk saya .. dan saya menggunakan
jsonp-polling alih-alih xhr-polling sebagai cadangan ke websocket .. tampaknya jauh
lebih stabil.

Pada hari Minggu, 26 Januari 2014 pukul 10:16, Aran Reeks [email protected] :

Masalah yang sama di sini dengan Socket.io 0.9.16 - Melihat koneksi turun setiap ~ 25
detik dan log yang menunjukkan "membuang transportasi" secara bersamaan.


Balas email ini secara langsung atau lihat di Gi tHubhttps://github.com/LearnBoost/socket.io/issues/777#issuecomment -33325205
.

Hai @joefaron , tepuk tangan atas bantuan Anda.

Saya telah bermain-main sedikit dengan opsi konfigurasi yang berbeda malam ini dan akan melihat lebih jauh besok, tetapi saya dapat mengonfirmasi bahwa masalahnya adalah dengan pemeriksaan detak jantung yang gagal. Pemeriksaan ini dilakukan untuk memastikan koneksi ke pengguna masih diperlukan dan mereka tidak pergi tanpa mengirimkan pemutusan karena alasan apa pun.

Saya dapat mereplikasi bug ini di Firefox & versi stabil Chrome saat ini (32.0.1700.76 m).

Awalnya saya mencoba untuk sepenuhnya menonaktifkan detak jantung karena untuk aplikasi kami mereka tidak benar-benar diperlukan, ini dapat dilakukan sebagai berikut (menurut dokumen saat ini meskipun ketika saya mencoba ini sepertinya menghapus semua metode transportasi dan berakhir terus-menerus mogok dan restart).
io.set('heartbeats', false);

Karena ini gagal, upaya saya berikutnya adalah meningkatkan batas waktu antara permintaan detak jantung yang dapat dilakukan menggunakan yang berikut ini dalam app.js Anda:
io.set('heartbeat timeout', 99999); // 99999 being the time between requests in seconds - Default is 25, please choose your value as applicable for your applications

Ini bekerja dengan baik untuk aplikasi kami karena kami tidak peduli dengan pemutusan klien, ini mungkin bukan pilihan yang layak di lingkungan Anda.

Untuk siapa pun yang memiliki masalah ini jika itu membantu, lingkungan saya adalah sebagai berikut:
NodeJS: v0.10.24 Socket.io: v0.9.16 Centos 6.5

Saya pikir ini adalah masalah yang sangat mendesak / kritis. Kenapa belum terselesaikan? Dua tahun telah berlalu sejak dimulainya utas masalah ini.

Saya juga mengalami masalah ini:

NodeJS: v0.10.24
Socket.io: v0.9.16

d-oliveros: Saya sangat menyarankan untuk menurunkan versi ke 0.8.6. Saya belum punya ini
masalah .. dan saya tidak berpikir build terbaru akan diperbaiki dalam waktu dekat.

Pada hari Sabtu, 15 Februari 2014 jam 20:55, d-oliveros [email protected] menulis :

Saya pikir ini adalah masalah yang sangat mendesak / kritis. Kenapa belum
diselesaikan belum? Dua tahun telah berlalu sejak dimulainya utas masalah ini.

Saya juga mengalami masalah ini:

NodeJS: v0.10.24
Socket.io: v0.9.16

Balas email ini secara langsung atau lihat di Gi tHubhttps://github.com/LearnBoost/socket.io/issues/777#issuecomment -35177466
.

Silakan coba master , masalah ini hilang.

Apakah akan ada rilis 0.9.17 yang menyertakan perbaikan untuk masalah ini?

@fgnass dapatkah Anda mereproduksinya dengan 1.0.0-pre ?

@guille terlihat bagus sejauh ini! Saya akan memberi tahu Anda jika terjadi lagi.

Hai @guille apakah ada cara agar perbaikan ini dapat diperkenalkan ke 0.9.16? Hanya saja kami menggunakan node.js / socket.io di lingkungan produksi yang mapan dan saya akan kesulitan dalam membenarkan penggunaan versi pra-rilis dari setiap aspek platform kami. Jika patch dapat dilakukan untuk 0.9.16 atau, jika 1.0.0 akan dirilis dalam waktu (sangat) dekat, ini akan jauh lebih baik.

+1 untuk @eggysplat

@aran112000 terima kasih atas solusi heartbeat timeout . Bekerja untuk saya di v0.9.16.

Sebenarnya saya menemukan alasan mengapa saya mengalami masalah ini. Sangat memalukan, saya pikir saya menggunakan v0.9.16 padahal kenyataannya saya menggunakan v0.9.0 yang memiliki bug itu. Itu diperbaiki di v0.9.2 oleh https://github.com/LearnBoost/socket.io/commit/57a0b2406004e46ec34729392ee289191a4f78e7 dan https://github.com/LearnBoost/socket.io/commit/df5f23d3091df3bbf296ae72609dfbbc

Harap pastikan Anda tidak memiliki heartbeat interval lebih besar dari heartbeat timeout seperti pada v0.9.0.

mengedit posting sehingga orang lain dapat mengetahuinya:

menyia-nyiakan beberapa jam pelacakan bug, sampai saya memutuskan untuk menguji masalah dengan mac saya. sepertinya anti-virus saya di windows 8 juga memblokir koneksi dan menyebabkan banyak hal terputus. setelah uninstall, semuanya berfungsi dengan baik.

posting yang relevan sebenarnya ada di sini tetapi cukup sulit ditemukan.
https://github.com/LearnBoost/socket.io/wiki/Socket.IO-and-firewall-software

Saya agak pemula untuk socket.io dan itu membawa saya lebih dari dua hari. Setelah mengirim/menerima data, klien memutuskan dan menghubungkan kembali sehingga nilai socket.id berubah

socket.io:client client close with reason transport close +39s
socket.io:socket closing socket - reason transport close +44s
.
.
.
socket.io:namespace adding socket to nsp / +4.1m
socket.io:socket socket connected - writing packet +1s

Akhirnya, saya menemukan bahwa ada pengecualian di dalam panggilan balik sehingga socket.io secara diam-diam memutuskan dan menyambungkan kembali dari sistem.

socket.on('someEvent', function(){
    var a = null;
    a.b; //You won't be aware of this error, this error is suppressed and won't be shown on console. 
         //Moreover, it disconnects and reconnects
})

Lihat juga komentar ini

Jadi, itu diam-diam menangkap kesalahan dan tidak menunjukkan apa pun kepada saya di konsol. Mengapa itu menekan kesalahan dan memutuskan/menghubungkan kembali tanpa memberi tahu saya?

1.3.5 kesalahan masih ada

Apakah itu?

Ya, masalahnya masih ada di 1.3.5...

Masalah Masih ada

Ya masalahnya masih terjadi di 1.3.5 tolong perbaiki

Saya pikir ini adalah masalah batas waktu klien haproxy seperti yang ditunjukkan oleh @citosid . Tingkatkan batas waktu klien haproxy untuk backend soket web dan masalah ini harus diperbaiki.

Saya memiliki masalah yang sama, tetapi saya tidak menggunakan haproxy. Adakah yang tahu versi terakhir di mana ini berfungsi?

Oke, saya juga mendapatkan laporan bahwa masalah ini tidak 100% diperbaiki di sistem kami. Lucunya adalah saya dapat mereproduksi masalah dengan andal dengan mengatur "timeout client 1" dalam haproxy menjadi satu detik, dan mengalami bug di frontend kami.

Diminta oleh ini, saya meningkatkan "klien batas waktu" ke jumlah yang lebih besar dan berpikir masalahnya akan hilang, karena socket.io keepalive / detak jantung akan memiliki cukup waktu untuk menyegarkan koneksi. Asumsi ini kemungkinan besar salah, dan saya akan terus mengabari kalian jika saya menemukan lebih banyak hal.

Saya memposting ini di posting stackoverflow dan bagi sebagian dari Anda ini dapat menyelesaikannya:
"Tampaknya HackTimer.js dan ccapture.js keduanya menggantikan window.setTimeout dengan fungsi khusus. HackTimer.js tampaknya berfungsi dengan baik jika dijalankan sebelum JavaScript lain. Untuk ccapture.js Anda mungkin ingin mencoba memastikannya dijalankan sebagai skrip pertama. Jadi, SocketIO pertama-tama menggunakan setTimeout asli browser Anda yang kemudian akan terpesona oleh setTimeout khusus yang merusak pengatur waktu yang sedang berjalan."

Cari kode Anda untuk melihat apakah salah satu perpustakaan Anda menggantinya:

ag 'window.setTimeout\s*='

Anda juga dapat menguji di konsol Anda untuk melihat apakah setTimeout telah dimodifikasi sama sekali:

/native/.test(window.setTimeout) // returns true for the native function and false for a custom one

Apakah bug ini masih keluar? Saya memutakhirkan ke versi master dan perangkat seluler apa pun terputus dalam waktu sekitar 2 menit dengan pemberitahuan dekat Transport..

Inilah yang membuat saya menjauh dari socket.io 1 > dan membuat saya tetap menggunakan socket.io 0.9.17 . Tapi sekarang saya coba lagi, set ping pong secara manual di server agar tetap hidup dan sekarang terputus setelah 19 menit.. intervalnya setiap 35 detik..

Jika saya menjalankan socket.io 0.9.17 masalah ini tidak ada .. tapi saya tidak ingin menggunakannya lagi karena sudah usang. Bantuan apa pun, ini terjadi di browser di perangkat seluler.

@utan apa langkah-langkah reproduksi?

Hai @rauchg ,

Terima kasih untuk balasan Anda..

1) Instal socket.io 1.4.0
2) atur konfigurasi nginx ke proxy

                        proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $host;
                proxy_http_version 1.1;
                proxy_pass http://io_nodes;

3) Atur klien Anda menggunakan socket.io 1.4.0/2015-11-28
4) Hubungkan di perangkat Seluler ..
5) Biarkan browser seluler terhubung ke aplikasi Anda, lalu biarkan ponsel Anda menganggur.

lalu log;

  engine:polling compressing +0ms
  engine:socket executing batch send callback +1ms
PuTTY  engine intercepting request for path "/socket.io/" +95ms
  engine handling "GET" http request "/socket.io/?EIO=3&transport=polling&t=L8YVUt6&sid=DJNvvkhmCQew_3vGAAAB" +0ms
  engine setting new request for existing client +0ms
  engine:polling setting request +0ms
  engine:socket transport error +6s
  engine:polling closing +2ms
  engine:polling transport writable - closing right away +0ms
  engine:polling writing "�1" +0ms
  socket.io:client client close with reason transport error +0ms
  socket.io:socket closing socket - reason transport error +0ms

Anda terputus setelah 3 4 menit..

Jika menggunakan polling, Anda mendapatkan log kesalahan ini;

 engine:socket executing batch send callback +1ms
PuTTY  engine intercepting request for path "/socket.io/" +106ms
  engine handling "GET" http request "/socket.io/?EIO=3&transport=polling&t=L8YXgi6&sid=skadf3It4qBRi0S0AAAC" +1ms
  engine setting new request for existing client +0ms
  engine:polling setting request +0ms
  engine:socket transport error +3s
  engine:polling closing +0ms
  engine:polling transport writable - closing right away +0ms
  engine:polling writing "�1" +0ms
  socket.io:client client close with reason transport error +1ms
  socket.io:socket closing socket - reason transport error +2ms
  engine intercepting request for path "/socket.io/" +373ms
  engine handling "POST" http request "/socket.io/?EIO=3&transport=polling&t=L8YXhdB&sid=skadf3It4qBRi0S0AAAC" +0ms

Jadi @rauchg menutupnya?

Benar-benar tidak berpikir Anda harus.

Aku tidak.

@rauchg ,
Jadi, apakah ini perilaku normal untuk socket.io sekarang? apakah ada perubahan dalam protokol WS yang sekarang memutuskan sambungan pengguna di perangkat seluler jika mereka tidak memasang plugin dan mereka menganggur?

Saya membenturkan kepala saya ke dinding dengan masalah ini tidak akan membiarkan saya menyelesaikan peningkatan .. dan refactor kode saya dengan socket.io baru ...
Server saya Ubuntu 10.10
Versi Nginx: Nginx/1.8.0
Node v0.10.31 // jika saya mengupgrade ke 4.0 adalah hal yang sama..

menggunakan https dan Nginx proxing socket.io..

Apakah ada orang lain yang memiliki masalah yang sama atau hanya saya?

Saya pikir saya mungkin juga .. sangat sulit untuk menunjukkan kasus saya. Saya menggunakan sails.js dengan socket.io.

ubuntu 14.04
simpul v5.3.0
npm v 3.3.12
layar. [email protected]
socket.io@~1.4.3

Klien saya adalah campuran socket.io-client dan sails.io.js:

var socketIOClient = require('socket.io-client');
var sailsIOClient = require('sails.io.js');
var io = sailsIOClient(socketIOClient);
io.socket.on('connect', function(data){....})

Jadi koneksi awal berlangsung selamanya...tetapi kemudian setelah .emit() atau .broadcast() ke klien ini, server membuang klien setelah ~25 detik hingga 1 menit DAN..klien tidak mendapatkan pemberitahuan tentang pemutusan . Dikira masih nyambung.

Sangat membuat frustrasi.

Saya mengalami masalah serupa, tetapi hanya jika saya menggunakan soket aman (wss, bukan ws). Dengan ws semuanya berfungsi dengan baik tetapi dengan wss koneksi terputus secara sporadis secara acak (~ 15 menit). Tidak ada firewall, tidak ada proxy.

Terima kasih @andrin-n-dream Saya pikir milik saya terkait dengan SSL juga. Saya memiliki mesin windows sebagai klien dan ubuntu vm saya (mesin yang sama) sebagai server. Adaptor jaringan yang dijembatani. Tidak pernah memiliki masalah dengan koneksi jaringan umum.

Terjadi pada SSL terlepas dari apakah saya menggunakan nginx SSL atau terminasi SSL sails.js.

NAVER - http://www.naver.com/

Email dikirim ke


Penerima telah memblokir penerimaan email Anda.


Saya melakukan debug selamanya dan tidak dapat menemukan solusi lain untuk SSL selain menghubungkan kembali secara manual. Akan lebih bagus jika engine.io akan melakukan ini untuk saya dan mencoba lagi ketika transportasi ditutup.

apakah ada solusi untuk ini? Saya mengalami masalah yang sama persis. setelah beberapa detik, saya mendapatkan batas waktu detak jantung di log debug dari server tetapi klien masih berpikir itu terhubung.

Nah karena masalah mendesak lainnya, saya telah memutakhirkan env saya dan ini sekarang di backburner. Akan menyenangkan untuk melihat apakah node 6.5.0 membuat perbedaan. Sails.js telah memperbarui beberapa paket dan mengubah penggunaan fungsi tingkat rendah ini...

Saya hanya tidak punya waktu untuk mendalami ini lagi sekarang karena saya memigrasikan sejumlah besar C++ lama. Mungkin akhir tahun ini atau Januari.

ini masih terjadi pada 2.0.3 ...
https://github.com/socketio/socket.io/issues/3025

tanpa solusi, socket.io pada dasarnya tidak dapat digunakan karena 25% klien Anda akan mengalami masalah ini.

io.set('batas waktu detak jantung', 99999);

@ Aaron1011 Apakah ini dimaksudkan sebagai sisi server atau kode klien? Jika sisi servernya, apakah ada yang perlu diubah di sisi klien?

Dicoba:
io.set('batas waktu detak jantung', 99999);
Di sisi server dan tidak memperbaiki masalah menggunakan socket.io v 2.0.3. Akan mencoba menurunkan versi ke 0.8.6 berikutnya.

Tidak dapat menurunkan versi ke 0.8.6 karena memang menjadi lubang kelinci yang sangat besar. Semua sintaks telah berubah dan karena tidak ada dokumentasi yang dapat saya temukan di 0.8.6, itu sia-sia. Saya benar-benar tidak ingin menulis ulang aplikasi saya untuk menurunkan versi ke versi lama dengan harapan dapat memperbaiki masalah ini.

Adakah yang punya ide/perbaikan untuk v2.03? Hal-hal yang saya coba:

  • setel pingInterval ke 9999999
  • setel pingTimeout ke 99999999
  • mengirim pesan secara otomatis sebagai keep-alive. Saya mengirim pesan setiap 1 detik, tetapi masih mendapatkan pemutusan acak.
  • Firewall dinonaktifkan
  • Mencoba dengan polling XHR aktif/nonaktif
  • Mengubah port dari sesuatu yang acak menjadi 80

Saya yakin ini bukan kesalahan pengkodean tetapi khusus untuk PC seperti yang terjadi pada beberapa dan bukan pada yang lain. Mungkin ada hubungannya dengan adaptor jaringan.

@forgeableSun Anda harus menulis aplikasi Anda berdasarkan Primus, saya memfaktorkan ulang aplikasi saya dengan primus dan saat ini menggunakan socketJs dengannya..

Mendukung beberapa proyek lain tidak perlu mengubah kode lain untuk menggunakan proyek waktu nyata lainnya ..

Salam.

@utan saya ingin mencobanya. tetapi bagaimana tepatnya saya beralih dari socket.io dengan satu baris kode? Sepertinya tidak ada contoh untuk beralih dari kerangka kerja lain.

npm instal saluran browser --save

var primus = new Primus(server, { transformer: 'browserchannel' });

https://github.com/primus/primus/blob/master/README.md#supported -real-time-frameworks

Harapan membantu.

apa hubungan saluran browser dengan socket.io?

Itu hanya contoh cara beralih ke kerangka kerja yang berbeda..

Seperti yang Anda minta contoh..

oke, tapi socket.io bahkan tidak terdaftar sebagai salah satu kerangka kerja waktu nyata yang didukung. tidak pernah hanya 1 baris kode untuk beralih API, saya tidak melihat bagaimana dokumen dapat mengiklankannya tanpa memberikan contoh apa pun.

Dengar, socket.io bermasalah setelah >= 1 sambungan terputus, saya menyarankan untuk menggunakan primus agar Anda dapat beralih ke kerangka kerja yang berbeda..

Itu sebabnya saya memberi Anda sebuah contoh, tentu saja Anda perlu kode refactor untuk menggunakan primus kemudian setelah Anda bebas mencoba kerangka kerja yang berbeda untuk melihat mana yang terbaik untuk Anda atau jika salah satu rusak maka Anda menggunakan yang berbeda..

Salam

@utan Saya mengerti, saya berpikir itu adalah transformator untuk beralih dari 1 kerangka kerja ke kerangka lain dengan seluruh aplikasi ditulis dalam kerangka kerja itu (seperti adaptor). Tapi sungguh, ini adalah transformator untuk beralih ke kerangka kerja secara mulus dengan seluruh aplikasi yang ditulis dalam primus.

Memang, kamu naik ke kepalaku .. saya tidak mahir untuk mengetahui perbedaannya, mengira kita membicarakan hal yang sama ..

Salam.

Log server saya:
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"
pemutusan klien. Alasan pemutusan: "transportasi tutup"

Beralih ke ws ( https://github.com/websockets/ws ) yang melibatkan penulisan ulang besar-besaran, tetapi sekarang saya menggunakan objek browser websocket asli di sisi klien dan semuanya berfungsi dengan baik. Saya tidak lagi memiliki masalah. begitu lama socket.io!

Saya mendapatkan pemutusan acak setelah 10 hingga 30 menit. Saya ingat bahwa layanan hosting saya menjalankan NodeJS dengan Passenger di server bersama Apache. Saya tidak begitu memahaminya tetapi pada dasarnya ada masalah dengan soket web dalam integrasi semacam ini. Saya menguji dengan menyetel transports: ['polling'] saja, sementara di localhost saya menjalankan dengan transports: ['websockets', 'polling'] tanpa kesalahan dan putus. Sejauh ini bagus setelah 30 menit...

Apakah halaman ini membantu?
0 / 5 - 0 peringkat