Skip to content

Commit 8803014

Browse files
committed
feat(server): add end()
Fixes #73. Signed-off-by: Frederic Pillon <[email protected]>
1 parent 6b9664b commit 8803014

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

src/EthernetServer.cpp

+16
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,22 @@ void EthernetServer::begin(uint16_t port)
4646
begin();
4747
}
4848

49+
void EthernetServer::end(void)
50+
{
51+
/* Free client */
52+
for (int n = 0; n < MAX_CLIENT; n++) {
53+
if (_tcp_client[n] != NULL) {
54+
EthernetClient client(_tcp_client[n]);
55+
client.stop();
56+
_tcp_client[n] = NULL;
57+
}
58+
}
59+
if (_tcp_server.pcb != NULL) {
60+
tcp_close(_tcp_server.pcb);
61+
_tcp_server.pcb = NULL;
62+
}
63+
}
64+
4965
void EthernetServer::accept()
5066
{
5167
/* Free client if disconnected */

src/EthernetServer.h

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ class EthernetServer :
1818
EthernetClient available();
1919
virtual void begin();
2020
virtual void begin(uint16_t port);
21+
void end(void);
2122
virtual size_t write(uint8_t);
2223
virtual size_t write(const uint8_t *buf, size_t size);
2324
virtual operator bool();

0 commit comments

Comments
 (0)