ECE 4180 Lab 2 Part 4

Dependencies:   EthernetInterface mbed-rtos mbed

Fork of TCPSocket_HelloWorld by mbed official

Committer:
abraha2d
Date:
Tue Oct 09 00:48:43 2018 +0000
Revision:
15:bf59021c6f53
Parent:
11:59dcefdda506
Save point

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
abraha2d 15:bf59021c6f53 4 Serial pc(USBTX, USBRX);
abraha2d 15:bf59021c6f53 5
abraha2d 15:bf59021c6f53 6 int main()
abraha2d 15:bf59021c6f53 7 {
abraha2d 15:bf59021c6f53 8 pc.printf("Hi! ");
abraha2d 15:bf59021c6f53 9
abraha2d 15:bf59021c6f53 10 char mac[6];
abraha2d 15:bf59021c6f53 11 mbed_mac_address(mac);
abraha2d 15:bf59021c6f53 12 pc.printf("mbed MAC address is %02x:%02x:%02x:%02x:%02x:%02x\n\r", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
abraha2d 15:bf59021c6f53 13
abraha2d 15:bf59021c6f53 14 pc.printf("1");
donatien 0:bb128f0e952f 15 EthernetInterface eth;
abraha2d 15:bf59021c6f53 16 pc.printf("2");
donatien 0:bb128f0e952f 17 eth.init(); //Use DHCP
abraha2d 15:bf59021c6f53 18 pc.printf("3");
donatien 0:bb128f0e952f 19 eth.connect();
abraha2d 15:bf59021c6f53 20 pc.printf("IP Address is %s\n", eth.getIPAddress());
abraha2d 15:bf59021c6f53 21
emilmont 7:65188f4a8c25 22 TCPSocketConnection sock;
donatien 0:bb128f0e952f 23 sock.connect("mbed.org", 80);
abraha2d 15:bf59021c6f53 24
emilmont 9:4757a976148d 25 char http_cmd[] = "GET /media/uploads/mbed_official/hello.txt HTTP/1.0\n\n";
emilmont 11:59dcefdda506 26 sock.send_all(http_cmd, sizeof(http_cmd)-1);
abraha2d 15:bf59021c6f53 27
emilmont 9:4757a976148d 28 char buffer[300];
donatien 0:bb128f0e952f 29 int ret;
emilmont 7:65188f4a8c25 30 while (true) {
emilmont 9:4757a976148d 31 ret = sock.receive(buffer, sizeof(buffer)-1);
emilmont 7:65188f4a8c25 32 if (ret <= 0)
emilmont 7:65188f4a8c25 33 break;
emilmont 9:4757a976148d 34 buffer[ret] = '\0';
abraha2d 15:bf59021c6f53 35 pc.printf("Received %d chars from server:\n%s\n", ret, buffer);
emilmont 7:65188f4a8c25 36 }
abraha2d 15:bf59021c6f53 37
emilmont 7:65188f4a8c25 38 sock.close();
abraha2d 15:bf59021c6f53 39
emilmont 7:65188f4a8c25 40 eth.disconnect();
abraha2d 15:bf59021c6f53 41
emilmont 9:4757a976148d 42 while(1) {}
donatien 0:bb128f0e952f 43 }