在 Arduino 中使用以太网屏蔽连接到服务器

Connecting to a server with the ehternet shield in Arduino

我正在开发一个简单的代码,允许我连接到我的 LAN 中的服务器。但它不起作用,它不连接。 我试图让它以各种方式工作,但无论哪种方式都不起作用。

这是我的代码:

#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0x90, 0xA2, 0xDA, 0x11, 0x03, 0xE9 };
char server[] = "http://172.17.17.55";    

IPAddress ip(172, 17, 17, 60);
EthernetClient client;

void setup() { 

  Serial.begin(9600);
  while (!Serial) {
    ; 
  }

  Ethernet.begin(mac, ip);

  delay(1000);
  Serial.println("connecting...");

  if (client.connect(server, 8008)) {
    Serial.println("connected");

    client.println("GET /172.17.17.55/ HTTP/1.1");

    client.println();
  } else {
    Serial.println("connection failed");
  }
}

void loop() {

  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }

  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();

    while (true);
  }
}

您需要从您的服务器地址中删除 http://

char server[] = "172.17.17.55"; 

或者更好,因为你知道 IP 地址,所以你可以使用:

IPAddress server(172, 17, 17, 55);

这将避免 DNS 查找。