1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-12-01 12:24:14 +01:00

YunServer: added method to allow listening on localhost only

This commit is contained in:
Cristian Maglie 2013-07-01 19:09:43 +02:00
parent ad280d5d8b
commit 6fb6e63e99
2 changed files with 9 additions and 2 deletions

View File

@ -19,7 +19,7 @@
#include <YunServer.h>
YunServer::YunServer(uint16_t _p, BridgeClass &_b) :
bridge(_b), port(_p), listening(false) {
bridge(_b), port(_p), listening(false), useLocalhost(false) {
}
void YunServer::begin() {
@ -29,7 +29,10 @@ void YunServer::begin() {
port & 0xFF
};
uint8_t res[1];
bridge.transfer(tmp, 3, (const uint8_t *)"0.0.0.0", 7, res, 1);
String address = F("127.0.0.1");
if (!useLocalhost)
address = F("0.0.0.0");
bridge.transfer(tmp, 3, (const uint8_t *)address.c_str(), address.length(), res, 1);
listening = (res[0] == 1);
}

View File

@ -35,9 +35,13 @@ public:
virtual size_t write(uint8_t c) { /* TODO */ }
void listenOnLocalhost() { useLocalhost = true; }
void noListenOnLocalhost() { useLocalhost = false; }
private:
uint16_t port;
bool listening;
bool useLocalhost;
BridgeClass &bridge;
};