Changeset 249 in ntrip for trunk/BNC/bncgetthread.cpp


Ignore:
Timestamp:
Oct 14, 2006, 10:34:27 AM (18 years ago)
Author:
mervart
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/bncgetthread.cpp

    r244 r249  
    218218  // ------------------
    219219  while (true) {
    220 
    221     if (_socket->state() != QAbstractSocket::ConnectedState) {
    222       emit(newMessage(_staID + ": Socket not connected, reconnecting"));
    223       tryReconnect();
    224     }
    225 
    226     _socket->waitForReadyRead(_timeOut);
    227     qint64 nBytes = _socket->bytesAvailable();
    228     if (nBytes > 0) {
    229       char* data = new char[nBytes];
    230       _socket->read(data, nBytes);
    231       _decoder->Decode(data, nBytes);
    232       delete data;
    233       for (list<Observation*>::iterator it = _decoder->_obsList.begin();
    234            it != _decoder->_obsList.end(); it++) {
    235         emit newObs(_staID, *it);
    236         _global_caster->newObs(_staID, *it);
    237       }
    238       _decoder->_obsList.clear();
    239     }
    240     else {
    241       emit(newMessage(_staID + ": Data Timeout, reconnecting"));
     220    try {
     221      if (_socket->state() != QAbstractSocket::ConnectedState) {
     222        emit(newMessage(_staID + ": Socket not connected, reconnecting"));
     223        tryReconnect();
     224      }
     225     
     226     
     227      _socket->waitForReadyRead(_timeOut);
     228      qint64 nBytes = _socket->bytesAvailable();
     229      if (nBytes > 0) {
     230        char* data = new char[nBytes];
     231        _socket->read(data, nBytes);
     232        _decoder->Decode(data, nBytes);
     233        delete data;
     234        for (list<Observation*>::iterator it = _decoder->_obsList.begin();
     235             it != _decoder->_obsList.end(); it++) {
     236          emit newObs(_staID, *it);
     237          _global_caster->newObs(_staID, *it);
     238        }
     239        _decoder->_obsList.clear();
     240      }
     241      else {
     242        emit(newMessage(_staID + ": Data Timeout, reconnecting"));
     243        tryReconnect();
     244      }
     245    }
     246    catch (const char* msg) {
     247      emit(newMessage(_staID + msg));
    242248      tryReconnect();
    243249    }
Note: See TracChangeset for help on using the changeset viewer.