rayan azzi
/
tcp-server
TCP_server
main.cpp@0:ddb5698aa782, 2017-10-30 (annotated)
- Committer:
- deepikabhavnani
- Date:
- Mon Oct 30 16:59:55 2017 +0000
- Revision:
- 0:ddb5698aa782
- Child:
- 1:b658dfbe2a7c
TCP Sever example
Who changed what in which revision?
User | Revision | Line number | New 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(ð); |
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 | } |