Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EthernetNetIf SimpleSocket 1.0 mbed
Diff: Example/echoserver.cpp
- Revision:
- 12:52170a866d4a
- Parent:
- 11:04c0acd7f510
- Child:
- 13:1adb19edf716
diff -r 04c0acd7f510 -r 52170a866d4a Example/echoserver.cpp
--- a/Example/echoserver.cpp Thu Aug 18 09:51:08 2011 +0000
+++ b/Example/echoserver.cpp Fri Aug 19 02:17:01 2011 +0000
@@ -2,34 +2,38 @@
#include "EthernetNetIf.h"
#include "SimpleSocket.h"
+void blink(DigitalOut& led, Timer& timer, float interval = 1.0);
+
int echoserver(int port) {
+ printf("** echoserver **\n");
+
DigitalOut led1(LED1);
DigitalOut led2(LED2);
-
+
ServerSocket server(port);
Timer timer;
timer.start();
while (true) {
- if (ClientSocket *clientSocket = server.accept()) {
- while (clientSocket->connected()) {
- char buf[8];
- int len = clientSocket->read(buf, sizeof(buf));
- if (len > 0)
- clientSocket->write(buf, len);
-
- if (timer.read() > 10) {
- timer.reset();
- timer.start();
- led1 = !led1;
+ if (ClientSocket *socket = server.accept()) {
+ while (socket->connected()) {
+ if (socket->available()) {
+ char buf[8];
+ int len = socket->read(buf, sizeof(buf));
+ if (len > 0) socket->write(buf, len);
+ blink(led1, timer);
}
}
}
- if (timer.read() > 1) {
- timer.reset();
- timer.start();
- led2 = !led2;
- }
+ blink(led2, timer);
+ }
+}
+
+void blink(DigitalOut& led, Timer& timer, float interval) {
+ if (timer.read() > interval) {
+ timer.reset();
+ timer.start();
+ led = !led;
}
}
\ No newline at end of file