RF24Network + Ethernet = message en double

Bonjour, j’avance pas mal dans mon projet mais là je suis dépassé par le résultat du serveur web qui reçoit des données de sonde en RF24.

Sur ma page web j’ai sois pas de résultat, ou encore 2 fois le même ou si j’ai de la chance le résultat s’affiche bien qu’une fois.

exemple ici j’ai 2 fois le même résultat : (nom de la sonde - unité sonde1 - valeur1 - unité sonde2 - valeur2)
pl - h - 45 - t - 22-
ex - h - 40 - t - 1702-
pl - h - 45 - t - 22-
ex - h - 40 - t - 1701-

voici le code du serveur, je débute en C donc excusez moi des ignominies que vous y trouverez. =(

#include <digitalWriteFast.h>
#include <iBoardRF24Network.h>
#include <iBoardRF24.h>
#include <SPI.h>

#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1,177);
EthernetServer server(80);

iBoardRF24 radio(12,11,8,7,9,PE7);
iBoardRF24Network network(radio);

// Address of our node
const uint16_t this_node = 0;
// Address of the other node

// How often to send 'hello world to the other unit
const unsigned long interval = 2000; //ms

// When did we last send?
unsigned long last_sent;

// How many have we sent already
unsigned long packets_sent;

// Structure message
struct message_t
{
  char sonde_nom[3];
  char sonde_unt_1[3];
  uint16_t sonde_val_1;
  char sonde_unt_2[3];
  uint16_t sonde_val_2;
};


void setup(void)
{
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
  
  Serial.begin(57600);
  Serial.println("RF24Network/serveur_iboard/");
 
  SPI.begin();
  radio.begin();
  network.begin(/*channel*/ 27, /*node address*/ this_node);
}

void loop(void)
{
  network.update();

  // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {

    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close"); 
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html><body>");
         
 while ( network.available() )
  {
    // If so, grab it and print it out
    RF24NetworkHeader header;
    message_t message;
    network.read(header,&message,sizeof(message));
    client.print(message.sonde_nom);
    client.print(" - ");
    client.print(message.sonde_unt_1);
    client.print(" - ");
    client.print(message.sonde_val_1);
    client.print(" - ");
    client.print(message.sonde_unt_2);
    client.print(" - ");
    client.print(message.sonde_val_2);     
    client.println("-");
  } 
          client.println("</body></html>");
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        } 
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
    Serial.println("client disonnected");
  }
  
  // Pump the network regularly
  


}
// vim:ai:cin:sts=2 sw=2 ft=cpp