void WebSocketClient::monitor () {
    char character;
	if ((character = _client.read()) == 0) {
        String data = "";
        bool done = false;
        bool endReached = false;
        while (!done) {
            character = _client.read();
            if (character != -1) {
                data += character;
                endReached = false;
            }
            else if(endReached) {
                done = true;
            }
            else {
                endReached = true;
                delay(10);
            }
        }
        
        if (_dataArrivedDelegate != NULL) {
            _dataArrivedDelegate(*this, data);
        }
    }
}
void WebSocketClient::monitor() {
    if (!_client.available()) return;
    char c = _client.read();
    String data = "";
    if (c == 0) {
        c = _client.read();
        while(c >= 0) {
            data += c;
            c = _client.read();
        }
        
        if (_dataArrivedDelegate != NULL) {
            _dataArrivedDelegate(*this, data);
        }
    }
}
Пример #3
0
void Nimbits::monitorSocket () {
    char character;
    
	if (ethernetClient.available() > 0 && (character = ethernetClient.read()) == 0) {
        String str = "";

        bool endReached = false;

        int index = 0;
        while (!endReached) {
            character = ethernetClient.read();
            endReached = character == -1;

            if (!endReached) {

                    str += character;

            }
        }

         int str_len = str.length() + 1;
         StaticJsonBuffer<256> jsonBuffer;
         char char_array[str_len];
         str.toCharArray(char_array, str_len);



         JsonObject& root = jsonBuffer.parseObject(char_array);

         if (!root.success()) {

           return;

         }

         double d = root["value"]["d"];
         const char* name = root["name"];

        if (_dataArrivedDelegate != NULL) {
            _dataArrivedDelegate(name, d);
         }

      }
  //  }

}
void WebSocketClient::monitor () {
    char character;
    
	if (_client.available() > 0 && (character = _client.read()) == 0) {
        String data = "";
        bool endReached = false;
        while (!endReached) {
            character = _client.read();
            endReached = character == -1;

            if (!endReached) {
                data += character;
            }
        }
        
        if (_dataArrivedDelegate != NULL) {
            _dataArrivedDelegate(*this, data);
        }
    }
}