Я исследовал снова и снова, и это мой первый вопрос к сайту, который я люблю. У меня есть сервер/клиент на базе Microchip, запрашивающий веб-страницу с другого сервера Microchip TCP той же версии.Клиент Microchip TCP, разговаривающий с сервером TCP Microchip
У меня есть одна доска разработки, которая запрашивает веб-страницу с другой платы разработки, а через проводную акулу видна связь и видно, что из кода GenericTCPClient.c используется только радиовещание ARP. Он работает, но связь с проводными акулами НЕ выглядит так же, как если бы CURL, или общий веб-браузер запрашивал ту же информацию.
Либо перед моим лицом, либо с кодом Microchip (клиент) не поддерживает то, что я думаю. Я написал программы FTP и электронной почты с нуля в дни колледжа, прочитав RFC, поэтому незнакомец не хочет и не хочет знать о запросах низкого уровня через сокеты, если это то, что требуется.
Плюс, если веб-страница имеет имя пользователя и пароль ... т. Е. http://admin:[email protected]/page.htm ... Клиент микрочипа, похоже, не поддерживает это, если только я не вижу свет.
простой пример из demo GenericTCPClient.c следующим образом, если необходимо изменить команды нижнего уровня.
// Place the application protocol data into the transmit buffer. For this
// example, we are connected to an HTTP server, so we'll send an HTTP GET
// request.
TCPPutROMString(MySocket, (ROM BYTE*)"GET ");
TCPPutROMString(MySocket, RemoteURL);
TCPPutROMString(MySocket, (ROM BYTE*)" HTTP/1.1\r\nHost: ");
TCPPutString(MySocket, ServerName);
TCPPutROMString(MySocket, (ROM BYTE*)"\r\n\r\n");
// Send the packet
TCPFlush(MySocket);
GenericTCPExampleState++;
Я использовал отладки многословный функцию с помощью CURL и видел, что он послал, а также видели связь через Wireshark, и то же самое с помощью универсального браузера, но не могу показаться, чтобы получить аналогичные результаты, используя одни и те же команды низкого уровня видно из CURL, внутри GenericTCpCLient.c.
Таким образом, использование команд, захваченных через CURL или общий веб-браузер, в качестве команд для «GET» для захвата веб-страницы с клиента Microchip TCP, на сервер Microchip не показывает одинаковых результатов.
GenericTCPClient.c просто использует широковещательную передачу ARP, но хочет использовать те же команды, что и CURL.
Я что-то упустил? CURL работает потрясающе, но попытка использовать одни и те же команды в GenericTCPClient.c, похоже, не дает одинаковых результатов ... особенно в URL используется пользователь и пароль.
Итак, в оболочке ореха ... Microchip GenericTCPCLient.c, запрашивая WEB-страницу с сервера Microchip TCP, Wireshark показывает радиовещание ARP, в то время как CURL и любой веб-браузер показывают правильный путь.
Благодарим за любую обратную связь или указатели на другие сообщения этого характера. Это мое место, когда я нахожусь в тупике.
Вы не жутко смешиваете http и tcp/ip? –
Это возможность. При использовании TCPPutROMString (MySocket, (ROM BYTE *) "HTTP/1.1 \ r \ nHost:"); и остальная часть того, что я считал нужным, от CURL в режиме отладки verbose, я, кажется, не получаю такие же результаты от использования wirehark. Wireshark показывает различный цветной трафик с использованием CURL для загрузки веб-страницы, а затем с использованием тех же команд в Microchip TCPClient, в Microchip TCPServer. Выйдя на медицинский отпуск, у меня нет всех инструментов передо мной до следующей недели, чтобы показать ответ CURL от wirehark по сравнению с ответом Microchip TCPClient от Wireshark. – Ignisfatuuz
В основном я использовал строку за строкой ответа CURL в режиме отладки и вводил те же команды, что и в коде Microchip TCPClient. И получил разные трафик результатов от wirehark. – Ignisfatuuz