diff --git a/libraries/WiFi/src/WiFiClient.cpp b/libraries/WiFi/src/WiFiClient.cpp index bcea2bb8c3b01f062cf3f386fd2224ac8a9aca01..f6f4c30079cb8f2d01cdbe7402548af53655c3de 100644 --- a/libraries/WiFi/src/WiFiClient.cpp +++ b/libraries/WiFi/src/WiFiClient.cpp @@ -224,6 +224,11 @@ size_t WiFiClient::write(const uint8_t *buf, size_t size) return res; } +size_t WiFiClient::write_P(PGM_P buf, size_t size) +{ + return write(buf, size); +} + int WiFiClient::read(uint8_t *buf, size_t size) { if(!available()) { diff --git a/libraries/WiFi/src/WiFiClient.h b/libraries/WiFi/src/WiFiClient.h index 6d27c3e4b87c80086a5485d0aa3ced1678b5eb1d..3495bec87ed60f9ca79bb0122fa63729b6512b04 100644 --- a/libraries/WiFi/src/WiFiClient.h +++ b/libraries/WiFi/src/WiFiClient.h @@ -44,6 +44,7 @@ public: int connect(const char *host, uint16_t port); size_t write(uint8_t data); size_t write(const uint8_t *buf, size_t size); + size_t write_P(PGM_P buf, size_t size); int available(); int read(); int read(uint8_t *buf, size_t size); @@ -84,6 +85,10 @@ public: IPAddress remoteIP(int fd) const; uint16_t remotePort() const; uint16_t remotePort(int fd) const; + IPAddress localIP() const; + IPAddress localIP(int fd) const; + uint16_t localPort() const; + uint16_t localPort(int fd) const; IPAddress localIP() const; IPAddress localIP(int fd) const; diff --git a/libraries/WiFi/src/WiFiServer.cpp b/libraries/WiFi/src/WiFiServer.cpp index 2e20d4446ba0fcbde61b5a6bbc02d6ae383f0409..d0cce11c130838af73c2846dbb9c50f93035f8a9 100644 --- a/libraries/WiFi/src/WiFiServer.cpp +++ b/libraries/WiFi/src/WiFiServer.cpp @@ -21,6 +21,7 @@ #include #undef write +#undef close int WiFiServer::setTimeout(uint32_t seconds){ struct timeval tv; @@ -103,8 +104,16 @@ bool WiFiServer::hasClient() { } void WiFiServer::end(){ - close(sockfd); + lwip_close_r(sockfd); sockfd = -1; _listening = false; } +void WiFiServer::close(){ + end(); +} + +void WiFiServer::stop(){ + end(); +} + diff --git a/libraries/WiFi/src/WiFiServer.h b/libraries/WiFi/src/WiFiServer.h index 31fc7e3e3f19a3f2ef164b999f5b611f8fa04847..0c3cac9547a06011e08804be760ce6fa110665b5 100644 --- a/libraries/WiFi/src/WiFiServer.h +++ b/libraries/WiFi/src/WiFiServer.h @@ -50,6 +50,8 @@ class WiFiServer : public Server { using Print::write; void end(); + void close(); + void stop(); operator bool(){return _listening;} int setTimeout(uint32_t seconds); void stopAll();