Simple code for comunication via TCP between the mbed and PC.

Dependencies:   EthernetInterface SimpleSocket mbed-rtos mbed

Fork of SimpleSocketExamples by Hiroshi Yamaguchi

Committer:
numeral369
Date:
Wed Dec 17 16:06:00 2014 +0000
Revision:
1:016774025718
Parent:
0:6dc3cfd058c6
A simple code for comunication via TCP between the Mbed and a PC

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yamaguch 0:6dc3cfd058c6 1 #include "SimpleSocket.h"
yamaguch 0:6dc3cfd058c6 2
yamaguch 0:6dc3cfd058c6 3 void httpclient() {
yamaguch 0:6dc3cfd058c6 4 printf("URL => ");
yamaguch 0:6dc3cfd058c6 5 char url[128];
yamaguch 0:6dc3cfd058c6 6 scanf("%s", url);
yamaguch 0:6dc3cfd058c6 7
yamaguch 0:6dc3cfd058c6 8 char hostpart[64], host[64], path[128];
yamaguch 0:6dc3cfd058c6 9 int port = 80;
yamaguch 0:6dc3cfd058c6 10 sscanf(url, "http://%[^/]%s", hostpart, path);
yamaguch 0:6dc3cfd058c6 11 sscanf(hostpart, "%[^:]:%d", host, &port);
yamaguch 0:6dc3cfd058c6 12
yamaguch 0:6dc3cfd058c6 13 ClientSocket socket(host, port);
yamaguch 0:6dc3cfd058c6 14
yamaguch 0:6dc3cfd058c6 15 if (socket) {
yamaguch 0:6dc3cfd058c6 16 socket.printf("GET %s HTTP/1.0\r\n\r\n", path);
yamaguch 0:6dc3cfd058c6 17
yamaguch 0:6dc3cfd058c6 18 while (socket) {
yamaguch 0:6dc3cfd058c6 19 if (socket.available()) {
yamaguch 0:6dc3cfd058c6 20 char buf[128] = {};
yamaguch 0:6dc3cfd058c6 21 socket.read(buf, sizeof(buf) - 1);
yamaguch 0:6dc3cfd058c6 22 printf("%s", buf);
yamaguch 0:6dc3cfd058c6 23 }
yamaguch 0:6dc3cfd058c6 24 }
yamaguch 0:6dc3cfd058c6 25 }
yamaguch 0:6dc3cfd058c6 26 }