Several examples run on only mbed-os5.13.0 (not 5.14.0)
Dependencies: BD_SD_DISCO_F769NI BSP_DISCO_F769NI LCD_DISCO_F769NI TS_DISCO_F769NI USBHost_F769NI
z_example/5_tcp_server.cpp
- Committer:
- kenjiArai
- Date:
- 2019-10-14
- Revision:
- 4:0f4affc00183
- Parent:
- 3:35ac9ee7d2d6
File content as of revision 4:0f4affc00183:
// Original // https://os.mbed.com/teams/ST/code/mbed-os-tcp-server-example/ // // Modified by K.Arai // October 14th, 2019 // #include "select_program.h" //#define EXAMPLE_5_TCP_SERVER #ifdef EXAMPLE_5_TCP_SERVER #if !FEATURE_LWIP #error [NOT_SUPPORTED] LWIP not supported for this target #endif #include "mbed.h" #include "EthernetInterface.h" #include "TCPServer.h" #include "TCPSocket.h" Serial pc(USBTX, USBRX, 115200); #define HTTP_STATUS_LINE "HTTP/1.0 200 OK" #define HTTP_HEADER_FIELDS "Content-Type: text/html; charset=utf-8" #define HTTP_MESSAGE_BODY "" \ "<html>" "\r\n" \ " <body style=\"display:flex;text-align:center\">" "\r\n" \ " <div style=\"margin:auto\">" "\r\n" \ " <h1>Hello World</h1>" "\r\n" \ " <p>It works !</p>" "\r\n" \ " </div>" "\r\n" \ " </body>" "\r\n" \ "</html>" #define HTTP_RESPONSE HTTP_STATUS_LINE "\r\n" \ HTTP_HEADER_FIELDS "\r\n" \ "\r\n" \ HTTP_MESSAGE_BODY "\r\n" int main() { pc.printf("\x1b[2J\x1b[H %s\r\n %s %s (UTC)\r\n", __FILE__, __DATE__, __TIME__); printf(" Basic HTTP server example for DISCO-F769NI:\r\n"); EthernetInterface eth; eth.connect(); printf("The target IP address is '%s'\r\n", eth.get_ip_address()); TCPServer srv; TCPSocket clt_sock; SocketAddress clt_addr; /* Open the server on ethernet stack */ srv.open(ð); /* Bind the HTTP port (TCP 80) to the server */ srv.bind(eth.get_ip_address(), 80); /* Can handle 5 simultaneous connections */ srv.listen(5); while (true) { srv.accept(&clt_sock, &clt_addr); printf("accept %s:%d\r\n", clt_addr.get_ip_address(), clt_addr.get_port()); clt_sock.send(HTTP_RESPONSE, strlen(HTTP_RESPONSE)); } } #endif