Socket.io-client: Tidak dapat terhubung dan terhubung kembali pada reaksi asli

Dibuat pada 4 Mar 2018  ·  13Komentar  ·  Sumber: socketio/socket.io-client

Saya menggunakan lib ini selama setahun dan semuanya baik-baik saja.
Saya mulai menggunakan RN 0.45, dan 0.48 , dan kemudian 0.53.0. Semuanya sempurna.

Sampai saya memutakhirkan untuk bereaksi asli 0.53.3, dan masalah ini muncul.
ini adalah kesalahan yang saya dapatkan
{"type":"TransportError","description":{"line":"76","collumn":"7944","sourceURL":"index.android.bundle"}}
terkadang saya mendapat "waktu habis"

Saya tidak mengubah kode apa pun, saya tidak mengubah ketergantungan apa pun.
Apa yang saya lakukan hanya:

  1. Menghapus folder node_modules saya
  2. Di package.json saya mengubah RN dan bereaksi nomor versi.
  3. Saya menjalankan 'instal NPM'

Saya pikir itu mungkin masalah asli Bereaksi, jadi saya memutar kembali ke versi pratinjau yang saya gunakan 0.53.0. Tapi masalah ini masih ada. Saya putar kembali ke 0,48, masalahnya masih ada. dan seterusnya.

Saya menggunakan socket.io-client 2.0.3 (Saya telah mencoba 2.0.4 tetapi tidak membantu)

  • [x] laporkan bug
  • [ ] meminta fitur

Mempersiapkan

  • OS: Windows 10 64bit
  • browser: Bereaksi Asli
  • versi socket.io: 2.0.3

Aku tidak tahu apa yang sedang terjadi.
Berharap seseorang akan membantu. Terima kasih

Komentar yang paling membantu

Saya mengalami masalah dalam menghubungkan soket web (socket.io-client, trnasport:['websocket']) di iOS dengan server web.
Menariknya, ini berfungsi ketika saya menyalakan "Debug JS dari Jarak Jauh" di perangkat.
Ini mungkin masalah dengan versi reaksi asli di iOS. Hanya ingin tahu apakah seseorang menghadapi masalah yang sama.

Semua 13 komentar

+1

Saya menyelesaikan ini dengan menambahkan opsi ' transports': ['websocket'],

  this.socket = openSocket(socketUrl,{
          'reconnection': true,
          'reconnectionDelay': 500,
      'reconnectionAttempts': Infinity, 
      'transports': ['websocket'],            
      });

Tetapi opsi itu tidak diperlukan, bukan?
Jadi saya membiarkan masalah ini tetap terbuka karena akan rusak ketika saya menghilangkan opsi itu.

saya memang mengalami masalah ini setelah saya menambahkan express ke server dan menambahkan beberapa rute
dan ketika saya menambahkan
'transportasi': ['websocket'],
itu berfungsi dengan baik tetapi terputus setelah beberapa saat dan
PS: terputus saat saya bekerja dengan aplikasi tidak di backround atau yang lainnya.

Bisakah Anda memberikan cara untuk mereproduksi? (Saya mencoba dengan lelucon tanpa hasil: https://github.com/darrachequesne/jest/commits/test/socket.io)

Mengatur transport ke websocket juga memecahkan masalah saya, tetapi tentu saja mematikan polling http yang sangat disayangkan. Langkah-langkah untuk mereproduksi:

  1. Pasang soket. [email protected] dalam proyek asli reaksi, tambahkan kode untuk membuat koneksi socket io baru, dan jalankan emulator android
  2. Pastikan server node menjalankan [email protected] dan aktifkan debug logging
    Diharapkan : koneksi untuk dibuat (simulator ios berhasil terhubung)
    Aktual : socket io mengeluarkan connect_error pada klien dengan kode 'parse error'. Setelah diperiksa, xhr.response yang diberikan adalah string kosong yang diinterpretasikan oleh socket io sebagai kesalahan penguraian. Pesan yang gagal diurai sepertinya adalah pesan 'pong' dari server socket io.

Saya memiliki masalah yang sama di iOS, solusi sementara untuk menambahkan opsi 'transports': ['websocket'] juga berfungsi untuk saya.

Konfigurasi:

  • socket.io 2.1.1
  • bereaksi 16.3.2
  • reaksi-asli 0.52.0
  • iOS 11.2

Saya mencoba menghubungkan socket.io di Android asli reaksi saya. Namun, itu tidak terhubung. Saya mencoba beberapa tutorial dan iOS berfungsi dengan baik tetapi Android tidak. Saya telah mencoba 'transports':['websocket'] tetapi masih tidak berfungsi :( .. Ada saran atau ide atau kode sampel?

Backend saya adalah Nodejs dan juga menggunakan socket.io. Terima kasih!

Saya mencoba menghubungkan socket.io di Android asli reaksi saya. Namun, itu tidak terhubung. Saya mencoba beberapa tutorial dan iOS berfungsi dengan baik tetapi Android tidak. Saya telah mencoba 'transports':['websocket'] tetapi masih tidak berfungsi :( .. Ada saran atau ide atau kode sampel?

Backend saya adalah Nodejs dan juga menggunakan socket.io. Terima kasih!
Apakah Anda menemukan solusi untuk ini, saya memiliki masalah yang sama pada react-native di Android.

masalah yang sama

halo teman-teman saya punya masalah di soket

itu menunjukkan batas waktu ketika saya check on

socket.on('connect_error', (err) => {
console.log('error123',err)

ini kode saya

untuk reaksi sisi asli

impor io dari 'socket.io-client';
var socket = io.connect('http://localhost:8888',{transports: ['websocket'],upgrade:false});
socket.on('berita', fungsi (data) {
console.log(data);
socket.emit('acara saya yang lain', { saya: 'data' });
});

   socket.on('connect_error', (err) => {
    console.log('error123',err)
  });

sisi server:

var aplikasi = membutuhkan('ekspres')();
var server = membutuhkan('http').Server(aplikasi);
var io = membutuhkan('socket.io')(server);

server.listen(8888);
// PERINGATAN: app.listen(80) TIDAK akan berfungsi di sini!

app.get('/', function (req, res) {
res.sendFile(__dirname + '/index.html');
});

io.on('koneksi', fungsi (soket) {
socket.emit('berita', { halo: 'dunia' });
socket.on('acara saya yang lain', function (data) {
console.log(data);
});
});

index.html





WebScocket 101

Saya sudah stok butuh bantuan

Bahkan saya memiliki masalah saat menghubungkan socket-io di Android. RN dapat terhubung sebagai klien namun sama untuk aplikasi web reaksi tetapi tidak untuk aplikasi seluler reaksi. Mohon saran solusinya.

Coba turunkan socket.io-client ke 1.7.2, ini berhasil untuk saya.

Saya mengalami masalah dalam menghubungkan soket web (socket.io-client, trnasport:['websocket']) di iOS dengan server web.
Menariknya, ini berfungsi ketika saya menyalakan "Debug JS dari Jarak Jauh" di perangkat.
Ini mungkin masalah dengan versi reaksi asli di iOS. Hanya ingin tahu apakah seseorang menghadapi masalah yang sama.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat