前提
Arduino WiFiClient を用いてHTTP getリクエストが実現できる理由を知りたいと考えております。
WiFi への接続、HTTP getリクエストには WiFi ライブラリ のサンプルコード WiFiWebClient を用いたいです。
上記サンプルコードでは WiFi.begin
した後、以下の様にすることで、HTTP getリクエストを実装していました。
C++
1 if (client.connect(server, 80)) { 2 3 // Make a HTTP request: 4 client.println("GET /search?q=arduino HTTP/1.1"); 5 client.println("Host: www.google.com"); 6 client.println("Connection: close"); 7 client.println(); 8 }
発生している問題
WiFi ライブラリの ドキュメント を確認すると、「このライブラリを使用すると、サーバー、クライアントをインスタンス化し、WiFiを介してUDPパケットを送受信できます。」との記述がありました。
一方、HTTPはTCPで実現されている認識です。
なぜ、WiFiClient ライブラリが送信するUDPパケットを用いて、TCPで実現されているHTTP get リクエストが実現できているのか理解できておりません。
追記
can110様により、ESP32ライブラリ WiFiClient では、TCPを用いて通信しているとのご回答いただいております。
一方、WiFiWebClient のサンプルコードでは、UDPパケットを送受信できると記載しているWiFiライブラリを用いて、HTTP get を実現しているように感じられております。
上記疑問について、追加でご回答いただけますと幸いです。
以上よろしくお願いいたします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/04/17 02:22