Клиент успешно подключен к концентратору сигналов через веб-сокеты, но иногда получает данные только с рабочего сервера. На сервере разработки (IIS Express) он всегда получает данные.
Я включил веб-сокеты на производственном сервере (Windows Server 2012, сигнализатор версии 2.3.0). Клиент должен получать данные с сервера каждый раз, когда устанавливается соединение, но иногда он не получает данные, и в журналах клиента и в журналах сервера нет ошибок.
Я также включил трассировку файла сигнализатора на сервере.
Который показывает следующие журналы в trasports.log.txt:
SignalR.Transports.TransportHeartBeat Verbose: 0:
KeepAlive (064cb5fb-6607-4cb8-904f-5486d9ad09cf)
SignalR.Transports.WebSocketTransport Информация: 0:
CloseSocket (064cb5fb-6607-4cb8-904f-5486d9ad09cf)
SignalR.Transports.WebSocketTransport Информация: 0:
Прервать (064cb5fb-6607-4cb8-904f-5486d9ad09cf)
SignalR.Transports.TransportHeartBeat Информация: 0: Удаление
соединение 064cb5fb-6607-4cb8-904f-5486d9ad09cf
SignalR.Transports.WebSocketTransport Информация: 0:
End (064cb5fb-6607-4cb8-904f-5486d9ad09cf)
SignalR.Transports.WebSocketTransport Verbose: 0:
DrainWrites (064cb5fb-6607-4cb8-904f-5486d9ad09cf)
SignalR.Transports.WebSocketTransport Информация: 0: Завершить запрос
(064cb5fb-6607-4cb8-904f-5486d9ad09cf)
Показывает только старый журнал идентификатора соединения и не показывает новый журнал идентификатора соединения.
Где идентификатор соединения в журналах выше: 064cb5fb-6607-4cb8-904f-5486d9ad09cf
И клиент показывает идентификатор соединения: 14b6dc5c-3beb-41f1-92fe-00b7ad2e36e1
Это происходит, когда я использую сигнализатор для связи с сервера клиенту, и во время открытого соединения я отклоняюсь от страницы, на которой я останавливаю хаб, с помощью $.connection.hub.stop();
, но когда я снова перехожу на ту же страницу, я подключаюсь к сигнализатор $.connection.hub.start()
, а в журнале клиента указан действительный идентификатор соединения, но теперь клиент не получает никаких данных с сервера