Socket.io: Socket.io pm2 saat dimatikan tidak menutup soket

Dibuat pada 11 Nov 2016  ·  4Komentar  ·  Sumber: socketio/socket.io

Masalah ini mengikuti https://github.com/Unitech/pm2/issues/2508
Masalahnya adalah jika saya me-restart atau memuat ulang server socket.io melalui pm2, saya masih memiliki banyak soket yang tersisa online (sejauh yang saya mengerti), sehingga saya memiliki beban cpu dan lonjakan memori.

Juga sebagai pendahulu dari masalah ini, tidak peduli mode mana (garpu atau cluster) server saya berjalan, jumlah soket aktif saya bertambah (tanpa lompatan tajam, misalnya: 4000, 3995, 4010, 4005, 4020, tetapi masih terus-menerus) seiring waktu, apa yang membutuhkan lebih banyak memori dan akibatnya saya mengalami kebocoran memori?

Komentar yang paling membantu

Saya adalah orang yang cantik yang menjadi siang dan malam yang menyenangkan

Semua 4 komentar

Tentang jumlah koneksi apa yang terus meningkat - ini bukan masalah pm2, saya menolak nginx, pm2, cluster dan hanya meninggalkan satu instance yang saya jalankan pada node.js murni dengan perintah "node server.js" tanpa parameter apa pun. Jadi siapa yang akan membaca ini di masa depan, masalah jumlah koneksi saya BUKAN karena PM2.5.

Masalahnya adalah klien seluler, mereka mengabaikan pengaturan koneksi/koneksi ulang socket.io, dan meskipun server offline selama 3 hari, mereka masih melakukan ping, dan kemudian server online, mereka terhubung kembali. Jadi jika port pernah publik, dan masih ada klien terbuka dengan port ini, Anda akan memiliki situasi saya.

Saya adalah orang yang cantik yang menjadi siang dan malam yang menyenangkan

@Nerfair klien socket.io mana yang digunakan klien seluler? socket.io-client ? Atau yang asli (Android/iOS)?

@darrachequesne Saya tidak yakin saya mengerti benar tapi itu standar

<script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
<script>
    var socket = io('http://localhost');
    socket.on('message', function (data) {
        console.log(data);
    });
</script>

dan di sisi server itu

sio = require('socket.io')
Apakah halaman ini membantu?
0 / 5 - 0 peringkat