mirror of
				https://github.com/0xFEEDC0DE64/arduino-esp32.git
				synced 2025-10-30 21:51:40 +01:00 
			
		
		
		
	* Wait for client.available() to prevent ESP32 crashes * Removed user-specific SSID & passphrase
		
			
				
	
	
		
			88 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  *  This sketch sends a message to a TCP server
 | |
|  *
 | |
|  */
 | |
| 
 | |
| #include <WiFi.h>
 | |
| #include <WiFiMulti.h>
 | |
| 
 | |
| WiFiMulti WiFiMulti;
 | |
| 
 | |
| void setup()
 | |
| {
 | |
|     Serial.begin(115200);
 | |
|     delay(10);
 | |
| 
 | |
|     // We start by connecting to a WiFi network
 | |
|     WiFiMulti.addAP("SSID", "passpasspass");
 | |
| 
 | |
|     Serial.println();
 | |
|     Serial.println();
 | |
|     Serial.print("Waiting for WiFi... ");
 | |
| 
 | |
|     while(WiFiMulti.run() != WL_CONNECTED) {
 | |
|         Serial.print(".");
 | |
|         delay(500);
 | |
|     }
 | |
| 
 | |
|     Serial.println("");
 | |
|     Serial.println("WiFi connected");
 | |
|     Serial.println("IP address: ");
 | |
|     Serial.println(WiFi.localIP());
 | |
| 
 | |
|     delay(500);
 | |
| }
 | |
| 
 | |
| 
 | |
| void loop()
 | |
| {
 | |
| //    const uint16_t port = 80;
 | |
| //    const char * host = "192.168.1.1"; // ip or dns
 | |
|     const uint16_t port = 1337;
 | |
|     const char * host = "192.168.1.10"; // ip or dns
 | |
| 
 | |
|     Serial.print("Connecting to ");
 | |
|     Serial.println(host);
 | |
| 
 | |
|     // Use WiFiClient class to create TCP connections
 | |
|     WiFiClient client;
 | |
| 
 | |
|     if (!client.connect(host, port)) {
 | |
|         Serial.println("Connection failed.");
 | |
|         Serial.println("Waiting 5 seconds before retrying...");
 | |
|         delay(5000);
 | |
|         return;
 | |
|     }
 | |
| 
 | |
|     // This will send a request to the server
 | |
|     //uncomment this line to send an arbitrary string to the server
 | |
|     //client.print("Send this data to the server");
 | |
|     //uncomment this line to send a basic document request to the server
 | |
|     client.print("GET /index.html HTTP/1.1\n\n");
 | |
| 
 | |
|   int maxloops = 0;
 | |
| 
 | |
|   //wait for the server's reply to become available
 | |
|   while (!client.available() && maxloops < 1000)
 | |
|   {
 | |
|     maxloops++;
 | |
|     delay(1); //delay 1 msec
 | |
|   }
 | |
|   if (client.available() > 0)
 | |
|   {
 | |
|     //read back one line from the server
 | |
|     String line = client.readStringUntil('\r');
 | |
|     Serial.println(line);
 | |
|   }
 | |
|   else
 | |
|   {
 | |
|     Serial.println("client.available() timed out ");
 | |
|   }
 | |
| 
 | |
|     Serial.println("Closing connection.");
 | |
|     client.stop();
 | |
| 
 | |
|     Serial.println("Waiting 5 seconds before restarting...");
 | |
|     delay(5000);
 | |
| }
 |