Changeset 599 in ntrip


Ignore:
Timestamp:
Dec 14, 2007, 10:51:30 AM (16 years ago)
Author:
mervart
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/test_bnc_qt.cpp

    r464 r599  
    4444#include "RTCM/GPSDecoder.h"
    4545
     46#include <QFile>
     47#include <QTextStream>
    4648#include <QTcpSocket>
    4749
     
    5456int main(int /* argc */, char** /* argv */) {
    5557
    56   QTcpSocket socket;
     58  QTcpSocket socketObs;
     59  QTcpSocket socketEph;
     60
     61  QFile obsFile("obs.txt");
     62  QFile ephFile("eph.txt");
    5763 
    58   socket.connectToHost("127.0.0.1", 1968);
    59   if (!socket.waitForConnected(10000)) {
    60     cout << "not connected" << endl;
     64  socketObs.connectToHost("127.0.0.1", 1968);
     65  if (!socketObs.waitForConnected(10000)) {
     66    cout << "socketObs: not connected" << endl;
    6167    exit(1);
    6268  }
     69
     70  socketEph.connectToHost("127.0.0.1", 1969);
     71  if (!socketEph.waitForConnected(10000)) {
     72    cout << "socketEph: not connected" << endl;
     73    exit(1);
     74  }
     75
     76  obsFile.open(QIODevice::WriteOnly | QIODevice::Unbuffered);
     77  ephFile.open(QIODevice::WriteOnly | QIODevice::Unbuffered);
     78
     79  QTextStream outObs(&obsFile);
     80  outObs.setRealNumberNotation(QTextStream::FixedNotation);
     81
     82  QTextStream outEph(&ephFile);
     83  outEph.setRealNumberNotation(QTextStream::FixedNotation);
    6384
    6485  // Receive Data
     
    6990
    7091  while (true) {
    71     if ( socket.bytesAvailable() ) {
    72       int bytesRecv = socket.read(&flag, 1);
     92    bool somethingRead = false;
     93
     94    if (socketObs.state() != QAbstractSocket::ConnectedState) {
     95      cout << "socketObs: disconnected" << endl;
     96      exit(0);
     97    }
     98    if (socketEph.state() != QAbstractSocket::ConnectedState) {
     99      cout << "socketEph: disconnected" << endl;
     100      exit(0);
     101    }
     102
     103    if ( socketObs.bytesAvailable() ) {
     104      somethingRead = true;
     105      int bytesRecv = socketObs.read(&flag, 1);
    73106      if (flag == begObs) {
    74         if ( socket.bytesAvailable() >= sizeof(obs) ) {
    75           bytesRecv = socket.read((char*) &obs, sizeof(obs));
    76           cout << setw(5)                     << obs.StatID         << " "
    77                << obs.satSys << setw(2)       << obs.satNum         << " "
    78                << setw(4)                     << obs.GPSWeek        << " "
    79                << setw(10) << setprecision(2) << obs.GPSWeeks      << " "
    80                << setw(14) << setprecision(4) << obs.C1             << " "
    81                << setw(14) << setprecision(4) << obs.C2             << " "
    82                << setw(14) << setprecision(4) << obs.P1             << " "
    83                << setw(14) << setprecision(4) << obs.P2             << " "
    84                << setw(14) << setprecision(4) << obs.L1             << " "
    85                << setw(14) << setprecision(4) << obs.L2             << " "
    86                << setw(14) << setprecision(4) << obs.S1             << " "
    87                << setw(14) << setprecision(4) << obs.S2             << " "
    88                << setw(4)                     << obs.SNR1           << " "
    89                << setw(4)                     << obs.SNR2           << endl;
     107        if ( socketObs.bytesAvailable() >= sizeof(obs) ) {
     108          bytesRecv = socketObs.read((char*) &obs, sizeof(obs));
     109          outObs << obs.StatID                                 << " "
     110                 << obs.satSys << obs.satNum                   << " "
     111                 << obs.GPSWeek                                << " "
     112                 << qSetRealNumberPrecision(2) << obs.GPSWeeks << " "
     113                 << qSetRealNumberPrecision(4) << obs.C1       << " "
     114                 << qSetRealNumberPrecision(4) << obs.C2       << " "
     115                 << qSetRealNumberPrecision(4) << obs.P1       << " "
     116                 << qSetRealNumberPrecision(4) << obs.P2       << " "
     117                 << qSetRealNumberPrecision(4) << obs.L1       << " "
     118                 << qSetRealNumberPrecision(4) << obs.L2       << " "
     119                 << qSetRealNumberPrecision(4) << obs.S1       << " "
     120                 << qSetRealNumberPrecision(4) << obs.S2       << " "
     121                 <<                               obs.SNR1     << " "
     122                 <<                               obs.SNR2     << endl;
    90123        }
    91124      }
    92125    }
    93     else {
    94       socket.waitForReadyRead(100);
     126
     127    if ( socketEph.bytesAvailable() ) {
     128      somethingRead = true;
     129      QByteArray eph = socketEph.readAll();
     130      outEph << eph.data() << endl;
     131    }
     132
     133    if (!somethingRead) {
     134      socketObs.waitForReadyRead(100);
    95135    }
    96136  }
Note: See TracChangeset for help on using the changeset viewer.