1
我上週購買了Linkit One,並試圖通過Linkit One主板上的SIM卡向我的遠程服務器發送http post(JSON)請求。 這一切似乎工作正常,但幾個小時後,這些請求停止到我的服務器。Linkit One發送後發送幾小時後崩潰
這是我的代碼:
#include <LGPRS.h>
#include <LGPRSClient.h>
#include <LGPRSServer.h>
char server[] = "myserver.com";
int port = 80;
String object = "";
String Location = "";
int objSize;
String objLength;
LGPRSClient client;
void setup() {
Serial.begin(115200);
while (!LGPRS.attachGPRS("internet.golantelecom.net.il", "", "")) {
delay(500);
}
}
void loop() {
object = "value=test";
sendHttpRequest(object);
delay(5000);
}
void sendHttpRequest(String object) {
objSize = object.length();
objLength = String(objSize);
int timeOut = 0;
int index = 0;
String response = "";
if (client.connect(server, port)) {
// FOR THE CONSOLE :
Serial.println(F("POST /index.php HTTP/1.1"));
Serial.print(F("Host: "));
Serial.println(server);
Serial.println(F("Content-Type: application/x-www-form-urlencoded"));
Serial.print(F("Content-Length: "));
Serial.println(objLength);
Serial.println();
Serial.println(object);
Serial.println();
// FOR THE SERVER :
client.println(F("POST /index.php HTTP/1.1"));
client.print(F("Host: "));
client.println(server);
client.println(F("Content-Type: application/x-www-form-urlencoded"));
client.print(F("Content-Length: "));
client.println(objLength);
client.println();
client.println(object);
client.println();
}
else Serial.println("connection failed");
while (client.connected()) {
if (client.available() > 0) {
char value = client.read();
if(String(value) == "{" || index) {
response += String(value);
index++;
if(String(value) == "}") index = 0;
}
}
if (!client.connected() || timeOut == 35000) {
Serial.print("Server Response: ");
Serial.println(response);
Serial.println();
client.stop();
}
timeOut++;
}
}
這是從服務器日誌: http://s11.postimg.org/f6oriqj37/image.png
請幫我弄清楚是怎麼回事..
的感謝!