Ich möchte versuchen, eine Verbindung zu meinem Node.js socket.io-Server von einem ReactJS-Client herzustellen. Der Server protokolliert, dass der Benutzer die Verbindung herstellt/trennt, der Client scheint jedoch eine Zeitüberschreitung zu haben (seine Zustände werden als getrennt angezeigt).(Restify, ReactJS, Node.js) Socket.io Client-Status ist getrennt, Server protokolliert die Verbindung
Hier sind die relevanten Schnipsel: Server
var server = restify.createServer()
const socketio = require('socket.io')
const io= socketio.listen(server)
io.sockets.on('connection', function(socket){
console.log('a user connected');
socket.emit('server event',{'foo':'bar'})
socket.on('disconnect',function(){
console.log('user disconnected');
});
socket.on('client event',function(data){
console.log(data)
})
})
server.listen(8999, function() {
console.log('%s listening at %s', server.name, server.url)
})
Dann öffne ich die app, es protokolliert das Ereignis ‚user‘ verbunden ist, aber die Client-Seite scheint die Verbindung nicht bewusst zu sein.
Reagieren Client-Seite:
componentDidMount(){
try {
this.socket= io.connect('localhost:8999')
this.socket.on('connected',function(socket){
console.log('connected')
})
this.socket.emit('client event',{value: 'valami tortent'})
}catch(error){
console.log(error)
}
this.socket.on('server event',function(data){
console.log(data)
})
}
Ich habe versucht, die Client-Seite Debuggen, wie es scheint es nie das Paket für eine Verbindungsbestätigung erhält.
Was scheint das Problem zu sein? Ich habe versucht, jede Verbindung URL-Typen auf der Client-Seite. Die seltsame Sache ist, dass der Server die Verbindung und Trennung bekannt ist.
Vielen Dank für Ihre Antwort, ich habe nur den Code dafür in der Frage nicht enthalten. Das Problem wurde mit einer Lösung behoben, die ich gefunden habe: Für einen Restify-Server müssen Sie die Eigenschaft socketio: true definieren. –
Froh, dass Ihr Problem gelöst wurde :) –