A small example of TCP server over ethernet for mbed-os.

Committer:
nenad
Date:
Fri May 11 15:40:50 2018 +0000
Revision:
3:48f60b2918aa
Parent:
1:ec61ea9f67de
PMK2018;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
group-ST 0:6e8275981824 1 #include "mbed.h"
nenad 3:48f60b2918aa 2 #include "TCPSocket.h"
group-ST 0:6e8275981824 3 #include "EthernetInterface.h"
group-ST 0:6e8275981824 4
nenad 3:48f60b2918aa 5 EthernetInterface eth;
nenad 3:48f60b2918aa 6 TCPSocket socket;
group-ST 0:6e8275981824 7
group-ST 0:6e8275981824 8 int main()
group-ST 0:6e8275981824 9 {
nenad 3:48f60b2918aa 10 printf("Basic TCP client example\n");
nenad 3:48f60b2918aa 11
nenad 3:48f60b2918aa 12 // Brings up the network interface
group-ST 0:6e8275981824 13 eth.connect();
nenad 3:48f60b2918aa 14 const char *ip = eth.get_ip_address();
nenad 3:48f60b2918aa 15 const char *mac = eth.get_mac_address();
nenad 3:48f60b2918aa 16 printf("IP address is: %s\n", ip ? ip : "No IP");
nenad 3:48f60b2918aa 17 printf("MAC address is: %s\n", mac ? mac : "No MAC");
nenad 3:48f60b2918aa 18
nenad 3:48f60b2918aa 19 // Open a socket on the network interface, and create a TCP connection to mbed.org
nenad 3:48f60b2918aa 20 socket.open(&eth);
nenad 3:48f60b2918aa 21 socket.connect("192.168.0.108", 80);
nenad 3:48f60b2918aa 22
nenad 3:48f60b2918aa 23 // Send data
nenad 3:48f60b2918aa 24 char sbuffer[] = "12345";
nenad 3:48f60b2918aa 25 int scount = socket.send(sbuffer, sizeof sbuffer);
nenad 3:48f60b2918aa 26 printf("sent %d [%.*s]\r\n", scount, strstr(sbuffer, "\r\n")-sbuffer, sbuffer);
nenad 3:48f60b2918aa 27
nenad 3:48f60b2918aa 28 // Recieve a simple http response and print out the response line
nenad 3:48f60b2918aa 29 char rbuffer[64];
nenad 3:48f60b2918aa 30 int rcount = socket.recv(rbuffer, sizeof rbuffer);
nenad 3:48f60b2918aa 31 printf("recv %d [%.*s]\r\n", rcount, strstr(rbuffer, "\r\n")-rbuffer, rbuffer);
nenad 3:48f60b2918aa 32
nenad 3:48f60b2918aa 33 // Close the socket to return its memory and bring down the network interface
nenad 3:48f60b2918aa 34 socket.close();
nenad 3:48f60b2918aa 35 eth.disconnect();
nenad 3:48f60b2918aa 36
nenad 3:48f60b2918aa 37 printf("Done\n");
nenad 3:48f60b2918aa 38 }