TCP Socket Hello World with Ethernet

Dependencies:   EthernetInterface mbed-rtos mbed

Fork of TCPSocket_HelloWorld by mbed_example

Committer:
yihui
Date:
Wed Apr 22 13:38:58 2015 +0000
Revision:
16:bfcf5f6274a2
Parent:
11:59dcefdda506
Child:
17:0d74817db362
update libraries, use httpbin.org as test server

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
emilmont 7:65188f4a8c25 4 int main() {
donatien 0:bb128f0e952f 5 EthernetInterface eth;
donatien 0:bb128f0e952f 6 eth.init(); //Use DHCP
donatien 0:bb128f0e952f 7 eth.connect();
emilmont 2:e087e9b789e9 8 printf("IP Address is %s\n", eth.getIPAddress());
donatien 0:bb128f0e952f 9
emilmont 7:65188f4a8c25 10 TCPSocketConnection sock;
yihui 16:bfcf5f6274a2 11 sock.connect("httpbin.org", 80);
donatien 0:bb128f0e952f 12
yihui 16:bfcf5f6274a2 13 char http_cmd[] = "GET /get?helloworld HTTP/1.0\r\n\r\n";
emilmont 11:59dcefdda506 14 sock.send_all(http_cmd, sizeof(http_cmd)-1);
emilmont 7:65188f4a8c25 15
emilmont 9:4757a976148d 16 char buffer[300];
donatien 0:bb128f0e952f 17 int ret;
emilmont 7:65188f4a8c25 18 while (true) {
emilmont 9:4757a976148d 19 ret = sock.receive(buffer, sizeof(buffer)-1);
emilmont 7:65188f4a8c25 20 if (ret <= 0)
emilmont 7:65188f4a8c25 21 break;
emilmont 9:4757a976148d 22 buffer[ret] = '\0';
emilmont 9:4757a976148d 23 printf("Received %d chars from server:\n%s\n", ret, buffer);
emilmont 7:65188f4a8c25 24 }
donatien 0:bb128f0e952f 25
emilmont 7:65188f4a8c25 26 sock.close();
donatien 0:bb128f0e952f 27
emilmont 7:65188f4a8c25 28 eth.disconnect();
donatien 5:01f6c3e112af 29
emilmont 9:4757a976148d 30 while(1) {}
donatien 0:bb128f0e952f 31 }