1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-08-17 06:42:21 +03:00

Allow WiFiServer to bind to a specific address (#997)

In addition to the existing constructors (WiFiServer::WiFiServer(port) and WiFiWebServer::WiFiWebServer(port)), new constructors are added:
WiFiServer::WiFiServer(IPAddress, port) and WiFiWebServer::WiFiWebServer(IPAddress, port).
This commit is contained in:
Ivan Grokhotkov
2015-11-15 20:35:52 +03:00
parent 34045d4908
commit 5b28ae23c2
4 changed files with 67 additions and 52 deletions

View File

@@ -29,6 +29,7 @@ extern "C" {
}
#include "Server.h"
#include "IPAddress.h"
class ClientContext;
class WiFiClient;
@@ -36,12 +37,14 @@ class WiFiClient;
class WiFiServer : public Server {
private:
uint16_t _port;
IPAddress _addr;
tcp_pcb* _pcb;
ClientContext* _unclaimed;
ClientContext* _discarded;
public:
WiFiServer(IPAddress addr, uint16_t port);
WiFiServer(uint16_t port);
WiFiClient available(uint8_t* status = NULL);
bool hasClient();
@@ -56,7 +59,7 @@ public:
protected:
int8_t _accept(tcp_pcb* newpcb, int8_t err);
void _discard(ClientContext* client);
void _discard(ClientContext* client);
static int8_t _s_accept(void *arg, tcp_pcb* newpcb, int8_t err);
static void _s_discard(void* server, ClientContext* ctx);