...
Seuraavassa koodissa on esitetty numeerisen datan luku udp-väylältä
Code Block |
---|
void CAN_MessageWithUdp::ReadCAN_Message() { quint64 f; qint32Qvect roskat; qDebug() << "data on CAN "; while (dataToCANSocket->hasPendingDatagrams())#include "udppalvelintoiminnot.h" //#include <QReadLocker> //QReadWriteLock lukulukko; UdpPalvelinToiminnot::UdpPalvelinToiminnot(QObject *parent) : QObject(parent) { QByteArray datagramudpLiitynta=new QUdpSocket(this); datagram.resize(dataToCANSocket->pendingDatagramSize())udpLiitynta->bind(45401,QUdpSocket::ShareAddress); dataToCANSocket->readDatagram(datagram.data(), datagram.sizeconnect(udpLiitynta,SIGNAL(readyRead()),this,SLOT(LueDataa())); QDataStream in(datagram); } void UdpPalvelinToiminnot::LueDataa() { qint32 in>>ff; qDebug() << "Id "<<(qint64)f; udpLiitynta"; while if(f==(qint64)1) (udpLiitynta->hasPendingDatagrams()) { QByteArray datagram; message.clear(datagram.resize(udpLiitynta->pendingDatagramSize()); while (!in.atEndudpLiitynta->readDatagram(datagram.data(), datagram.size()); { in >> fQDataStream in(datagram); message<<f; ] return; }in>>f; else if(f==(qint64qint32)2 1 ) { quint8Qvect commandin>>f; while (!in.atEnd()){ in >> fqDebug()<<"tulokset "<<f; command.appendemit Tulokset(f); }return; } return; } .... } } |