修正buffer里面的数据处理方式,以前那个清除之后指针丢失
This commit is contained in:
+12
-2
@@ -53,6 +53,13 @@ int DLink::SendMessageTo1(quint8 ch, quint8 *msg, quint16 len)
|
||||
{
|
||||
foreach(Node node,clientSockets)
|
||||
{
|
||||
QString num;
|
||||
for (int i = 0; i < len; ++i) {
|
||||
num.append(QString::number(msg[i],16).toUpper());
|
||||
num.append(" ");
|
||||
}
|
||||
qDebug() << num;
|
||||
|
||||
DLink::Clientsock->writeDatagram((const char *)msg, len,
|
||||
node.addr, node.port);
|
||||
qDebug() << "Client Send Msg";
|
||||
@@ -199,7 +206,7 @@ void DLink::connectSignal(QVariant m_state,
|
||||
else if(m_Type.toString() == "UDP")
|
||||
{
|
||||
//qDebug() << m_Type << m_Param1 << m_Param2 << m_Param4;
|
||||
if(setupClient(QHostAddress(m_Param1.toString()),m_Param2.toString().toInt(),m_Param4.toString().toInt()))
|
||||
if(setupClient(QHostAddress(m_Param1.toString()),m_Param2.toString().toInt(),QHostAddress(m_Param3.toString()),m_Param4.toString().toInt()))
|
||||
{
|
||||
emit PortConnected(true,m_usrName,m_Type,m_Param1,m_Param2,m_Param3,m_Param4,m_Param5);
|
||||
}
|
||||
@@ -227,7 +234,7 @@ void DLink::connectSignal(QVariant m_state,
|
||||
|
||||
|
||||
|
||||
bool DLink::setupClient(const QHostAddress &remote_addr, int remote_port, int local_port)
|
||||
bool DLink::setupClient(const QHostAddress &local_addr,int local_port,const QHostAddress &remote_addr,int remote_port)
|
||||
{
|
||||
bool isSuccess = false;
|
||||
Clientsock = new QUdpSocket(this);
|
||||
@@ -299,6 +306,9 @@ void DLink::readPendingDatagramsClient(void)
|
||||
Clientsock->readDatagram(datagram.data(), datagram.size());
|
||||
mavlinknode->setbuff(SourceType::c_sock,datagram);
|
||||
}
|
||||
|
||||
//qDebug() << "client recieve";
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user