Pages: [1]   Go Down
Author Topic: Limitare socket alla EtheretServer  (Read 200 times)
0 Members and 1 Guest are viewing this topic.
Ivrea
Offline Offline
God Member
*****
Karma: 5
Posts: 680
"La teoria è quando si sa tutto ma non funziona niente. La pratica è quando funziona tutto ma non si sa il perché. In ogni caso si finisce sempre con il coniugare la teoria con la pratica: non funziona niente e non si sa il perché." Albert Einstein
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho fatto un'altra modifica alla EthernetServer.
Il problema era che la EthernetServer metteva tutti i socket in ascolto, ma se volessi assegnargli sono 2 socket perché gli altri due li voglio usare come client mi era impossibile. Allora ho aggiunto questa funzione:

Code:
void EthernetServer::begin(uint8_t numSock )
{
  for (int sock = 0; sock < MAX_SOCK_NUM && sock <= numSock; sock++) {
    EthernetClient client(sock);
    if (client.status() == SnSR::CLOSED) {
      socket(sock, SnMR::TCP, _port, 0);
      listen(sock);
      EthernetClass::_server_port[sock] = _port;
      break;
    }
  } 
}

Vedrò se riesco anche a fare qualcosa in modo da rendere dinamica l'assegnazione dei socket, ma la vedo dura.
Logged

Pages: [1]   Go Up
Jump to: