Embedded WebSockets Experiment

Dependencies:   mbed MD5

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers TCPListener.cpp Source File

TCPListener.cpp

00001 #include "TCPListener.h"
00002 #include "NetServer.h"
00003 
00004 using namespace std;
00005 using namespace mbed;
00006 
00007 err_t TCPListener::accept_callback(void *arg, struct tcp_pcb *newpcb, err_t err) {
00008   TCPListener *listener   = static_cast<TCPListener *>(arg);
00009   if(listener) {
00010     return (listener->accept)(newpcb, err);
00011   }
00012   return ERR_OK;
00013 }
00014 
00015 void TCPListener::bind() {
00016   NetServer::ready();
00017   open();
00018   tcp_arg(this->_pcb, static_cast<void *>(this));
00019   if(tcp_bind(this->_pcb, IP_ADDR_ANY, this->_port) == ERR_OK) {
00020     this->_pcb = tcp_listen(this->_pcb);
00021     tcp_accept(this->_pcb, TCPListener::accept_callback);
00022   }
00023 }