2016-08-21 1 views
1

versucht, socket.io-Client mit Reactive-native (iOS jetzt) ​​zu verwenden, bis jetzt Verbindung/Empfangen serverseitigen Ereignisse vom Client scheint gut zu funktionieren. Aber ich kann anscheinend keine Ereignisse vom Klienten ausstrahlen.Reactive native Socket io keine Ereignisse werden vom Client

Kunde

var socket = io("http://localhost:3000"); 
    socket.on('connect', function(){ 
     socket.on('ping', function(e) { 
      console.log('Server emitted ping: ' + e); 
      socket.emit('pong', 'hi server!'); 
     }); 
     socket.on('disconnect', function(){ 
      console.log("disconnect"); 
     }); 
    }); 

Server (Node.js)

var io = require('socket.io')(server); 
io.on('connection', function (socket) { 
    console.log('connected...'); 
    socket.on('pong', function (data) { 
    console.log("Hmm?"); 
    console.log(data); 
    }); 

    setTimeout(function() { 
    console.log("Saying hello"); 
    socket.emit('ping', { message: 'Hello from server ' + Date.now() }); 

    }, 1000); 
}); 

So von der Server-Seite, sehe ich die Protokolle

connected... 
Saying hello 

Und in der Client-I finden Sie unter „Server emittiert Ping ... ", aber das Pong-Ereignis scheint nichts zu tun? Ich versuchte, alle Ereignisse auf dem Server durch Lösungen zu erfassen, die in StackOverflow erwähnt wurden, aber es sah so aus, als würde kein Ereignis vom Client kommen. Irgendwelche Ideen?

Verwenden der neuesten RN-Version 0.31.

Auch diesen Fehler zu sehen, als ich zum ersten Mal die App in Xcode laufen, könnte es der Grund sein ?:

[warn][tid:main][RCTEventEmitter.m:52] Sending `websocketFailed` with no listeners registered. 
+0

haben Sie versucht, etwas außerhalb socket.on emittierende? –

+0

ich habe. es scheint auch nichts auszugeben ... – tetutato

+0

versuche meine antwort auf dem server –

Antwort

0

bitte versuchen Sie es:

io.sockets.on('connection', function(socket) { 
    .... 
}) 
+0

gleiches problem:/ich habe das gefühl, das ist ein fehler mit der nativen eingang ist das einwickeln des emittercodes – tetutato

+0

Lass mich versuchen, eine RN app zu erstellen um schnell zu laufen –

+1

funktioniert nicht auf meiner entweder –