Socket.io: Mendapatkan HTTP Header 400 saat menggunakan polling di socket.io

Dibuat pada 22 Apr 2015  ·  4Komentar  ·  Sumber: socketio/socket.io

Hai,

Saya mendapatkan banyak 400 HTTP Header saat menggunakan polling di socket.io.
Saya menggunakan cluster nodejs:
Berikut cuplikan kodenya:

if (cluster.isMaster) {
// Pekerja garpu.
//jumlahCPU=1;
for (var i = 0; i < numCPUs-1; i++) {
cluster.fork();
}
}
//kode pekerja:
kalau tidak{

var socket_io = membutuhkan('socket.io')(server);
var redis_adapter = membutuhkan('socket.io-redis');
socket_io.adapter(redis_adapter({ host: config.redis.ip, port: config.redis.port }));

// sisa kode
socket_io.on('koneksi', fungsi (soket) {

}

Setiap penunjuk dalam hal ini akan sangat membantu.

Terima kasih sebelumnya

Closed due to inactivity

Komentar yang paling membantu

Hai! Saya mengalami banyak masalah dalam menyiapkan cluster dengan socket.io, karena tidak banyak contoh. Saya memiliki contoh kerja yang saya gunakan untuk mengontrol beberapa raspberryPi di

https://github.com/jordanpappas/raspi-car/tree/master/server

Saya benar-benar perlu membuat contoh terpisah untuk menunjukkan cara membuatnya berfungsi, tetapi untuk saat ini Anda dapat memeriksa file indeks di tautan. Ada beberapa hal yang harus Anda pastikan untuk dilakukan agar ini berhasil.

  1. Gunakan redis (sepertinya Anda sudah melakukan itu, jadi bandingkan cara Anda menyambungkan adaptor dengan contoh saya)
  2. Gunakan soket web saja. Ini berlaku untuk klien dan server. Kesalahan yang Anda dapatkan berkaitan dengan hal-hal polling, jadi jangan menggunakannya. Lakukan ini seperti ini
var io = sio(server, { 'transports': ['websocket'] });

dan pada klien:

var socket = io.connect('http://localhost:3000', { 'transports': ['websocket'] });

Ini akan membuat Anda bergerak ke arah yang benar, dan saya akan bekerja untuk mendapatkan contoh sederhana bersama.

Semua 4 komentar

Hai! Saya mengalami banyak masalah dalam menyiapkan cluster dengan socket.io, karena tidak banyak contoh. Saya memiliki contoh kerja yang saya gunakan untuk mengontrol beberapa raspberryPi di

https://github.com/jordanpappas/raspi-car/tree/master/server

Saya benar-benar perlu membuat contoh terpisah untuk menunjukkan cara membuatnya berfungsi, tetapi untuk saat ini Anda dapat memeriksa file indeks di tautan. Ada beberapa hal yang harus Anda pastikan untuk dilakukan agar ini berhasil.

  1. Gunakan redis (sepertinya Anda sudah melakukan itu, jadi bandingkan cara Anda menyambungkan adaptor dengan contoh saya)
  2. Gunakan soket web saja. Ini berlaku untuk klien dan server. Kesalahan yang Anda dapatkan berkaitan dengan hal-hal polling, jadi jangan menggunakannya. Lakukan ini seperti ini
var io = sio(server, { 'transports': ['websocket'] });

dan pada klien:

var socket = io.connect('http://localhost:3000', { 'transports': ['websocket'] });

Ini akan membuat Anda bergerak ke arah yang benar, dan saya akan bekerja untuk mendapatkan contoh sederhana bersama.

Tentu, terima kasih. Saya memecahkan masalah. Saya menggunakan perpustakaan sesi lengket di dalam pekerja cluster yang salah karena perpustakaan itu sendiri menciptakan pekerja.

Masalah itu ditutup secara otomatis. Harap periksa apakah masalah Anda telah diperbaiki dengan rilis terbaru, dan buka kembali jika diperlukan (dengan biola yang mereproduksi masalah jika memungkinkan).

Buang 4 jam dalam masalah ini

Apakah halaman ini membantu?
0 / 5 - 0 peringkat