Сообщения сокетов, кажется, один позади
Я прошу прощения за неопределенное название вопроса, но я не могу придумать лучшего способа описать проблему.
Я подключаюсь к серверу socket.io ( netty), используя Redannick's FlashSocket.IO
библиотека
Все (соединение, рукопожатие, обновление протокола), кажется, работает правильно, но когда приходит время начинать отправлять / получать сообщения, я замечаю странную тенденцию: все ответы на мои сообщения отстают на 1.
Самый простой пример, который я могу привести, - это то, что мне нужно отправить два PING, прежде чем я получу один PONG, и PONG, который я получаю, фактически является ответом на первый PING.
Более подробный пример: я отправляю сообщение с номером комнаты. Это сообщение должно получить ответ в виде "номер комнаты активирован". Я не буду получать этот ответ до тех пор, пока с сервера не будет отправлено другое сообщение.
Я могу заставить сервер отправить другое сообщение, следуя сообщению с идентификатором комнаты с помощью PING. Это инициирует отправку PONG с сервера, но единственное сообщение, которое я получаю на стороне клиента, - это сообщение "номер комнаты активирован".
У меня есть ощущение, что проблема лежит где-то внутри FlashSocket.IO
библиотека, но я не уверен, где именно искать. Я точно знаю, что сервер отправляет все сообщения, которые он должен отправить, потому что у меня есть тестовое приложение, написанное на JavaScript с использованием клиента socket.io, и оно работает, как и ожидалось.