TCP Server application which accepts single TCP telnet client connection

Committer:
deepikabhavnani
Date:
Mon Oct 30 16:59:55 2017 +0000
Revision:
0:ddb5698aa782
TCP Sever example

Who changed what in which revision?

UserRevisionLine numberNew contents of line
deepikabhavnani 0:ddb5698aa782 1 #include "mbed.h"
deepikabhavnani 0:ddb5698aa782 2 #include "EthernetInterface.h"
deepikabhavnani 0:ddb5698aa782 3 #include "TCPServer.h"
deepikabhavnani 0:ddb5698aa782 4 #include "TCPSocket.h"
deepikabhavnani 0:ddb5698aa782 5
deepikabhavnani 0:ddb5698aa782 6 int main()
deepikabhavnani 0:ddb5698aa782 7 {
deepikabhavnani 0:ddb5698aa782 8 printf("TCP server example\n");
deepikabhavnani 0:ddb5698aa782 9
deepikabhavnani 0:ddb5698aa782 10 EthernetInterface eth;
deepikabhavnani 0:ddb5698aa782 11 eth.connect();
deepikabhavnani 0:ddb5698aa782 12
deepikabhavnani 0:ddb5698aa782 13 printf("The Server IP address is '%s'\n", eth.get_ip_address());
deepikabhavnani 0:ddb5698aa782 14
deepikabhavnani 0:ddb5698aa782 15 TCPServer srv;
deepikabhavnani 0:ddb5698aa782 16 TCPSocket client_sock;
deepikabhavnani 0:ddb5698aa782 17 SocketAddress client_addr;
deepikabhavnani 0:ddb5698aa782 18 char *buffer = new char[256];
deepikabhavnani 0:ddb5698aa782 19
deepikabhavnani 0:ddb5698aa782 20 /* Open the server on ethernet stack */
deepikabhavnani 0:ddb5698aa782 21 srv.open(&eth);
deepikabhavnani 0:ddb5698aa782 22
deepikabhavnani 0:ddb5698aa782 23 /* Bind the HTTP port (TCP 80) to the server */
deepikabhavnani 0:ddb5698aa782 24 srv.bind(eth.get_ip_address(), 23);
deepikabhavnani 0:ddb5698aa782 25
deepikabhavnani 0:ddb5698aa782 26 /* Can handle x simultaneous connections */
deepikabhavnani 0:ddb5698aa782 27 srv.listen(1);
deepikabhavnani 0:ddb5698aa782 28
deepikabhavnani 0:ddb5698aa782 29 srv.accept(&client_sock, &client_addr);
deepikabhavnani 0:ddb5698aa782 30 printf("Accepted %s:%d\n", client_addr.get_ip_address(),
deepikabhavnani 0:ddb5698aa782 31 client_addr.get_port());
deepikabhavnani 0:ddb5698aa782 32 strcpy(buffer, "Hello \n\r");
deepikabhavnani 0:ddb5698aa782 33 client_sock.send(buffer, strlen(buffer));
deepikabhavnani 0:ddb5698aa782 34 client_sock.recv(buffer, 256);
deepikabhavnani 0:ddb5698aa782 35
deepikabhavnani 0:ddb5698aa782 36 client_sock.close();
deepikabhavnani 0:ddb5698aa782 37 delete[] buffer;
deepikabhavnani 0:ddb5698aa782 38 }