стоит nodemon я не вношу изменений в сервер, просто нажимаю сохранить, он перезагружает сервер и на клиенте у меня каждый раз +1 соединение, 1 из них постоянно обменивается. Вопрос следующий - почему старое продолжает висеть со статусом 101? или это нормальное поведение?
export const socketMiddleware = (
wsActions: TSocketChatMiddlewareActions
): Middleware<{}, RootState> => {
return (store) => {
let socket: Socket | null = null
return (next) => (action) => {
const { dispatch } = store
const {
wsConnect,
wsDisconnect,
wsSendMessage,
wsConnecting,
wsOnOpen,
wsOnClose,
wsOnError,
wsOnMessage,
} = wsActions
if (wsConnect.match(action)) {
console.log('connect', socket)
socket = io('http://localhost:5000', {
path: '/api/messages',
transports: ['websocket'],
reconnectionDelay: 5000,
})
dispatch(wsConnecting())
}
if (socket) {
socket.on('connect', () => {
console.log('socket open = ', socket!.id)
// dispatch(wsOnOpen())
})
socket.on('connect_error', (error) => {
console.log('socket error', error.message)
// dispatch(wsOnError(`Error === ${error.message}`))
})
socket.on('disconnect', (reason: any) => {
console.log('socket close', reason)
// dispatch(wsOnClose())
})
if (wsDisconnect.match(action)) {
console.log('socket disconnect')
socket.disconnect()
socket = null
dispatch(wsOnClose())
}
}
next(action)
}
}
}