Я пытаюсь реализовать простой клиент C # с длинным опросом для сервера socket.io, запущенного на Flask.Ни один из существующих пакетов NuGet не работает - все они пытаются перейти на транспорт веб-сокетов.
Я запускаю флеш-сервер для периодической трансляции некоторых сообщений.Мне удалось получить тех, кто использует браузер Firefox: "http://192.168.14.124:8080/socket.io/1" - это возвращает тайм-аут и идентификатор сеанса в формате JSON
, а затем:" http://192.168.14.124:8080/socket.io/?EIO=3&transport=polling&sid=(SID)" - его возвращает действительные уведомления
HttpClientHandler handler = new HttpClientHandler();
handler.CookieContainer = new CookieContainer();
HttpClient client = newHttpClient(handler);
var handshake = client.GetAsync("http://192.168.14.124:8000/socket.io/1").Result;
После синтаксического анализа рукопожатия я отправляю:
var rawData = client.GetAsync("http://192.168.14.124:8000/socket.io/?EIO=3&transport=polling&sid=<sessionid>");
Во втором запросе сверху код продолжает возвращать данные рукопожатия вместо ожидаемых сообщений.