Projekt

Obecné

Profil

« Předchozí | Další » 

Revize e60ade62

Přidáno uživatelem Jakub Hejman před téměř 4 roky(ů)

Re #8734 - Implement server-to-client preamble

Zobrazit rozdíly:

deltarobot/curvedataserver.cpp
25 25

  
26 26
    _sockets.push_back(clientSocket);
27 27

  
28
    sendPreamble(clientSocket);
28 29
}
29 30

  
30 31
void CurveDataServer::onSocketStateChanged(QAbstractSocket::SocketState socketState)
......
102 103
    for (QTcpSocket* socket : _sockets) {
103 104
            socket->write(message);
104 105
    }
105
    qDebug() << message.toHex();
106
    qDebug() << x << " " << y << " " << z;
106
    //qDebug() << message.toHex();
107
    //qDebug() << x << " " << y << " " << z;
108
}
109

  
110

  
111
void CurveDataServer::sendPreamble(QTcpSocket *socket)
112
{
113
    sendProtocolMagic(socket);
114
    sendVersion(socket);
115
}
116

  
117
void CurveDataServer::sendProtocolMagic(QTcpSocket *socket)
118
{
119
    char *messageContent = "DeltaRVr";
120
    QByteArray message(10, 0);
121
    message[0] = 0x01;
122
    message[1] = 0x30;
123

  
124
    for (int i = 0; i < 8; i++)
125
    {
126
        message[i + 2] = messageContent[i];
127
    }
128

  
129
    socket->write(message);
130

  
131
    qDebug() << "Sent Protocol Magic to" << socket->peerAddress();
132
    //qDebug() << message.toHex();
133
}
134

  
135
void CurveDataServer::sendVersion(QTcpSocket *socket)
136
{
137
    QByteArray message(6, 0);
138
    message[0] = 0x02;
139
    message[1] = 0x20;
140

  
141
    message[5] = 0x01;
142

  
143
    socket->write(message);
144

  
145
    qDebug() << "Sent Protocol Version to" << socket->peerAddress();
146
    //qDebug() << message.toHex();
107 147
}
deltarobot/curvedataserver.h
23 23
    QByteArray *createMessageId(int sizeId, int typId);
24 24
    //QByteArray *appendFloatToMessage(QByteArray *message, float f);
25 25
    QByteArray *putFloatIntoMessage(QByteArray *message, int index, float f);
26
    void sendPreamble(QTcpSocket *socket);
27
    void sendProtocolMagic(QTcpSocket *socket);
28
    void sendVersion(QTcpSocket *socket);
26 29

  
27 30
    QTcpServer _server;
28 31
    QList<QTcpSocket*> _sockets;

Také k dispozici: Unified diff