Reactcode (Приложение. js)
import React, { Component } from 'react';
import io from 'socket.io-client';
export default class App extends Component {
state = {
response:false,
endpoint:"ws://127.0.0.1:8000/",
socket:''
}
render() {
let socketInstance = io('ws://127.0.0.1:8000/admin',{
path:'/test'
})
return (
<>
<h1>You are looking at the connection id</h1>
<p>ids are [{socketInstance&&
socketInstance.on('connect',()=>{
console.log(socketInstance.id)
})}]
</p>
<h2>You wil be looking the the emit event from server</h2>
<p>data[{socketInstance &&
socketInstance.emit('level1',(data)=>{
console.log(data)
})
}]</p>
</>
)
}
}
Node.js
var app = require('express')();
var server = require('http').createServer(app);
// listen to port
server.listen(8000)
// io configure the socket
var io = require('socket.io')(server,{
path:'/test',
serveClient: false,
pingInterval:10000,
cookie:false
});
// After 2 argument is Socket admin can be a function
const adminNameSpace = io.of('/^\/dynamic-\d+$/').on('connect', (socket)=>{
// brodcast to all clients in given sub-nameSpace
const newNamespace = socket.nsp;
// newNamespace emit
newNamespace.binary(false).emit('hello')
});
// brodcast to all clients in each sub-nameSpace
adminNameSpace.binary(false).emit('hello all subnameSpaces')
// describe a room for nameSpace
adminNameSpace.to('level1').emit('an event',{ some: 'data'})
// get all the ids connected to nameSpace
io.of('/^\/dynamic-\d+$/').clients((error,clients)=>{
if(error) throw error
console.log("we are seeing the clients for the nameSpace")
console.log(clients) // prints all the clients connected
})
io.of('/^\/dynamic-\d+$/').in('general').clients((error,clients) =>{
if(error) throw error
console.log("get all the users for the namespace")
console.log(clients)
})
// close the current connection
// io.close()
1) Следующее моё node.js и реагирую. js code
2) Я создал сервер в node.js и использую этот сервер в React для печати идентификаторов и отправки события в моем приложении React
3) Но я получение следующей проблемы
Ошибка: объекты недопустимы как дочерний элемент React (найдено: объект с ключами {io, nsp, json, идентификаторы, acks, receiveBuffer, sendBuffer, подключен, отключен, флаги, подпрограммы, _callbacks}). Если вы намеревались визуализировать коллекцию дочерних элементов, используйте вместо этого массив
4) Я пробовал, как сказано в документации клиента socket.io ([https://socket.io/docs/client-api/)] [ 1]
5) я хочу отобразить идентификатор и распечатать некоторые данные, поступающие с уровня 1