SimpleSocket 1.0 examples

Dependencies:   EthernetNetIf SimpleSocket 1.0 mbed

echoserver.cpp

Committer:
yamaguch
Date:
2011-09-12
Revision:
25:b3ab82301345
Parent:
Example/echoserver.cpp@ 22:fc886208c19b
Child:
26:6f42de9d8ed8

File content as of revision 25:b3ab82301345:

#include "mbed.h"
#include "SimpleSocket.h"

void blink(DigitalOut& led, Timer& timer, float interval = 1.0);

int echoserver(int port) {
    printf("** echoserver,  port = %d\n", port);

    DigitalOut led1(LED1), led2(LED2);
    ServerSocket server(port);
    Timer timer;
    timer.start();

    while (true) {
        if (ClientSocket socket = server.accept()) {
            while (socket.connected()) {
                if (socket.available()) {
                    int c = socket.read();
                    socket.write(c);
                }
                blink(led1, timer);
            }
            socket.close();
        }
        blink(led2, timer);
    }
}