Example Get requests using Ethernet

Dependencies:   EthernetInterface mbed-rtos mbed

Fork of TCPSocket_HelloWorld by mbed official

Committer:
rquinn7
Date:
Mon Dec 07 21:19:43 2015 +0000
Revision:
15:7a9850866be9
Parent:
11:59dcefdda506
Child:
16:0a1035af04b4
Initial Commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:bb128f0e952f 1 #include "mbed.h"
donatien 0:bb128f0e952f 2 #include "EthernetInterface.h"
donatien 0:bb128f0e952f 3
rquinn7 15:7a9850866be9 4 Serial pc(USBTX,USBRX);
rquinn7 15:7a9850866be9 5
rquinn7 15:7a9850866be9 6 extern "C" void mbed_mac_address(char * mac) {
rquinn7 15:7a9850866be9 7
rquinn7 15:7a9850866be9 8 // define your own MAC Address ba:d7:05:47:1f:c6
rquinn7 15:7a9850866be9 9 mac[0] = 0xba;
rquinn7 15:7a9850866be9 10 mac[1] = 0xd7;
rquinn7 15:7a9850866be9 11 mac[2] = 0x05;
rquinn7 15:7a9850866be9 12 mac[3] = 0x47;
rquinn7 15:7a9850866be9 13 mac[4] = 0x1f;
rquinn7 15:7a9850866be9 14 mac[5] = 0xc6;
rquinn7 15:7a9850866be9 15
rquinn7 15:7a9850866be9 16 };
rquinn7 15:7a9850866be9 17
emilmont 7:65188f4a8c25 18 int main() {
rquinn7 15:7a9850866be9 19 pc.baud(9600);
rquinn7 15:7a9850866be9 20 pc.printf("Running\n");
donatien 0:bb128f0e952f 21 EthernetInterface eth;
donatien 0:bb128f0e952f 22 eth.init(); //Use DHCP
rquinn7 15:7a9850866be9 23 wait(15);
donatien 0:bb128f0e952f 24 eth.connect();
rquinn7 15:7a9850866be9 25 wait(15);
rquinn7 15:7a9850866be9 26 pc.printf("MAC is %s\n", eth.getMACAddress());
rquinn7 15:7a9850866be9 27 pc.printf("IP Address is %s\n", eth.getIPAddress());
donatien 0:bb128f0e952f 28
emilmont 7:65188f4a8c25 29 TCPSocketConnection sock;
rquinn7 15:7a9850866be9 30 sock.connect("192.184.82.3", 5000);
donatien 0:bb128f0e952f 31
rquinn7 15:7a9850866be9 32 char http_cmd[300] = "GET /create_board?playerNum=1&gameNum=144&board=1111000000000000000000000000000000000000000000000000000000000000 HTTP/1.0\n\n";
emilmont 11:59dcefdda506 33 sock.send_all(http_cmd, sizeof(http_cmd)-1);
emilmont 7:65188f4a8c25 34
rquinn7 15:7a9850866be9 35 char buffer[600];
donatien 0:bb128f0e952f 36 int ret;
emilmont 7:65188f4a8c25 37 while (true) {
emilmont 9:4757a976148d 38 ret = sock.receive(buffer, sizeof(buffer)-1);
emilmont 7:65188f4a8c25 39 if (ret <= 0)
emilmont 7:65188f4a8c25 40 break;
emilmont 9:4757a976148d 41 buffer[ret] = '\0';
rquinn7 15:7a9850866be9 42 pc.printf("Received %d chars from server:\n%s\n", ret, buffer);
emilmont 7:65188f4a8c25 43 }
donatien 0:bb128f0e952f 44
emilmont 7:65188f4a8c25 45 sock.close();
rquinn7 15:7a9850866be9 46 wait(0.2);
rquinn7 15:7a9850866be9 47 sock.connect("192.184.82.3", 5000);
rquinn7 15:7a9850866be9 48 wait(0.2);
rquinn7 15:7a9850866be9 49 strcpy(http_cmd, "GET /create_board?playerNum=2&gameNum=144&board=1111000000000000000000000000000000000000000000000000000000000000 HTTP/1.0\n\n");
rquinn7 15:7a9850866be9 50 pc.printf("Command is %s", http_cmd);
rquinn7 15:7a9850866be9 51 sock.send_all(http_cmd, sizeof(http_cmd)-1);
donatien 0:bb128f0e952f 52
rquinn7 15:7a9850866be9 53 while (true) {
rquinn7 15:7a9850866be9 54 ret = sock.receive(buffer, sizeof(buffer)-1);
rquinn7 15:7a9850866be9 55 if (ret <= 0)
rquinn7 15:7a9850866be9 56 break;
rquinn7 15:7a9850866be9 57 buffer[ret] = '\0';
rquinn7 15:7a9850866be9 58 pc.printf("Received %d chars from server:\n%s\n", ret, buffer);
rquinn7 15:7a9850866be9 59 }
rquinn7 15:7a9850866be9 60
rquinn7 15:7a9850866be9 61 sock.close();
rquinn7 15:7a9850866be9 62 wait(0.2);
rquinn7 15:7a9850866be9 63 sock.connect("192.184.82.3", 5000);
rquinn7 15:7a9850866be9 64 wait(0.2);
rquinn7 15:7a9850866be9 65 strcpy(http_cmd, "GET /polling?gameNum=144&playerNum=1 HTTP/1.0\n\n");
rquinn7 15:7a9850866be9 66 pc.printf("Command is %s", http_cmd);
rquinn7 15:7a9850866be9 67 sock.send_all(http_cmd, sizeof(http_cmd)-1);
rquinn7 15:7a9850866be9 68
rquinn7 15:7a9850866be9 69 while (true) {
rquinn7 15:7a9850866be9 70 ret = sock.receive(buffer, sizeof(buffer)-1);
rquinn7 15:7a9850866be9 71 if (ret <= 0)
rquinn7 15:7a9850866be9 72 break;
rquinn7 15:7a9850866be9 73 buffer[ret] = '\0';
rquinn7 15:7a9850866be9 74 pc.printf("Received %d chars from server:\n%s\n", ret, buffer);
rquinn7 15:7a9850866be9 75 }
rquinn7 15:7a9850866be9 76
rquinn7 15:7a9850866be9 77 sock.close();
rquinn7 15:7a9850866be9 78 wait(0.2);
rquinn7 15:7a9850866be9 79 sock.connect("192.184.82.3", 5000);
rquinn7 15:7a9850866be9 80 wait(0.2);
rquinn7 15:7a9850866be9 81 strcpy(http_cmd, "GET /fire?playerNum=1&gameNum=144&x=1&y=0 HTTP/1.0\n\n");
rquinn7 15:7a9850866be9 82 pc.printf("Command is %s", http_cmd);
rquinn7 15:7a9850866be9 83 sock.send_all(http_cmd, sizeof(http_cmd)-1);
rquinn7 15:7a9850866be9 84
rquinn7 15:7a9850866be9 85 while (true) {
rquinn7 15:7a9850866be9 86 ret = sock.receive(buffer, sizeof(buffer)-1);
rquinn7 15:7a9850866be9 87 if (ret <= 0)
rquinn7 15:7a9850866be9 88 break;
rquinn7 15:7a9850866be9 89 buffer[ret] = '\0';
rquinn7 15:7a9850866be9 90 pc.printf("Received %d chars from server:\n%s\n", ret, buffer);
rquinn7 15:7a9850866be9 91 }
rquinn7 15:7a9850866be9 92
rquinn7 15:7a9850866be9 93 sock.close();
emilmont 7:65188f4a8c25 94 eth.disconnect();
donatien 5:01f6c3e112af 95
emilmont 9:4757a976148d 96 while(1) {}
donatien 0:bb128f0e952f 97 }