Simple code for comunication via TCP between the mbed and PC.
Dependencies: EthernetInterface SimpleSocket mbed-rtos mbed
Fork of SimpleSocketExamples by
examples/echoserver.cpp@0:6dc3cfd058c6, 2013-02-04 (annotated)
- Committer:
- yamaguch
- Date:
- Mon Feb 04 09:29:18 2013 +0000
- Revision:
- 0:6dc3cfd058c6
modified to use SimpleSocket/EthernetInterface
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yamaguch | 0:6dc3cfd058c6 | 1 | #include "SimpleSocket.h" |
yamaguch | 0:6dc3cfd058c6 | 2 | |
yamaguch | 0:6dc3cfd058c6 | 3 | void echoserver() |
yamaguch | 0:6dc3cfd058c6 | 4 | { |
yamaguch | 0:6dc3cfd058c6 | 5 | ServerSocket server(1234); |
yamaguch | 0:6dc3cfd058c6 | 6 | |
yamaguch | 0:6dc3cfd058c6 | 7 | printf("server: %s:1234\n", EthernetInterface::getIPAddress()); |
yamaguch | 0:6dc3cfd058c6 | 8 | |
yamaguch | 0:6dc3cfd058c6 | 9 | while (true) { |
yamaguch | 0:6dc3cfd058c6 | 10 | ClientSocket socket = server.accept(); |
yamaguch | 0:6dc3cfd058c6 | 11 | |
yamaguch | 0:6dc3cfd058c6 | 12 | if (socket) { |
yamaguch | 0:6dc3cfd058c6 | 13 | while (socket) { |
yamaguch | 0:6dc3cfd058c6 | 14 | char buf[80]; |
yamaguch | 0:6dc3cfd058c6 | 15 | int len = socket.read(buf, sizeof(buf)); |
yamaguch | 0:6dc3cfd058c6 | 16 | if (len > 0) |
yamaguch | 0:6dc3cfd058c6 | 17 | socket.write(buf, len); |
yamaguch | 0:6dc3cfd058c6 | 18 | } |
yamaguch | 0:6dc3cfd058c6 | 19 | socket.close(); |
yamaguch | 0:6dc3cfd058c6 | 20 | } |
yamaguch | 0:6dc3cfd058c6 | 21 | wait(1.0); |
yamaguch | 0:6dc3cfd058c6 | 22 | } |
yamaguch | 0:6dc3cfd058c6 | 23 | } |