C# Отправка заголовков или параметров запроса в Tcpclient или Socket - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь подключиться к API чата робота Mixer с помощью Tcpclient, однако состояние документации Mixer

При подключении к сокету чата, пожалуйста, передайте идентификатор клиента вашего приложения OAuth в заголовке Client-ID ( или в качестве параметра запроса).

source (третий абзац)

В Интернете нет абсолютно ничего о отправке заголовков или параметров с использованием Tcpclient. Я знаю, что ClientWebSocket имеет параметры заголовка, но я уже написал целый класс для Twitch Api с использованием Tcpclient и отдельного универсального класса Chatbot, который зависит от входного и выходного потоков.

WebSocket имеет CreateClientWebSocket , метод stati c, который позволяет указать поток, но возвращает WebSocket, а не ClientWebSocket. WebSocket не имеет возможности указывать заголовки. Кроме того, я не уверен, можно ли просто поместить поток в streamReader / writer и заставить его работать так же.

Я попытался отправить запросы Http, чтобы переопределить сокетные запросы, но позже обнаружил, что Требуется заголовок Se c -WebSocket-Key . Я собирался использовать отражение, чтобы получить ключ. Но не смог найти, где это было, используя и inte rnet, и средство просмотра переменных точек останова.

Если заголовок не указан, Mixer просто мгновенно закрывает соединение. Как я могу отправить заголовки или параметры запроса с помощью tcpclient или использовать WebSocket с заголовками и входящим потоком и выходным потоком?

Или документы Mixer неверны? Можно ли подключиться без заголовка или параметра запроса?

...