useEffect(() => {
const socket =io(SOCKET_SERVER_URL)
console.log(socket,'socket')
socket.on('connect', () => {
socket.emit('login', uid);
console.log('连接建立成功了!')
});
// 监听来自服务端的消息
socket.on('new_msg', (msg) => {
console.log('Received message:', msg);
});
socket.on('update_online_count', (onlineCount) => {
setOnlineUsers(onlineCount);
console.log(onlineCount,'onlineCount')
});
console.log(onlineUsers,'onlineUsers')
socket.on('disconnect', function () {
console.log('断开连接了')
})
socket.on('connect_error', (error)=>{
console.log(error.message,'error.message')
})
//在组件销毁时断开连接
return () => {
socket.disconnect();
};
}, [uid]);
但是console.log(server error error.message)
经过各种尝试才发现和服务端的包版本不兼容 目前版本过高了,降低到"socket.io-client": "^2.3.0",就连接建立成功了!
卸载之前的高版本
npm i socket.io-client@2.3.0就行