void MyServer::slotReadClient()
{
for (;;)
{
if (!m_nNextBlockSize)
{
if (pClientSocket->bytesAvailable() < sizeof( quint16 ))
break;
in >> m_nNextBlockSize;
}
if (pClientSocket->bytesAvailable() < m_nNextBlockSize)
break;
in >> time >> str;
QString strMessage
= time.
toString() + " " + "Client has sended - " + str;
m_ptxt->append( strMessage );
m_nNextBlockSize = 0;
sendToClient( pClientSocket, "Server Response: Received \"" + str + "\"" );
}
}
// ----------------------------------------------------------------------
{
out << quint16
(0) <<
QTime::currentTime() << str;
out.device()->seek(0);
out << quint16( arrBlock.size() - sizeof( quint16 ) );
pSocket->write( arrBlock );
}
void MyServer::slotReadClient()
{
QTcpSocket* pClientSocket = (QTcpSocket *)sender();
QDataStream in( pClientSocket );
in.setVersion( QDataStream::Qt_4_7 );
for (;;)
{
if (!m_nNextBlockSize)
{
if (pClientSocket->bytesAvailable() < sizeof( quint16 ))
break;
in >> m_nNextBlockSize;
}
if (pClientSocket->bytesAvailable() < m_nNextBlockSize)
break;
QTime time;
QString str;
in >> time >> str;
QString strMessage = time.toString() + " " + "Client has sended - " + str;
m_ptxt->append( strMessage );
m_nNextBlockSize = 0;
sendToClient( pClientSocket, "Server Response: Received \"" + str + "\"" );
}
}
// ----------------------------------------------------------------------
void MyServer::sendToClient( QTcpSocket *pSocket, const QString &str )
{
QByteArray arrBlock;
QDataStream out( &arrBlock, QIODevice::WriteOnly );
out.setVersion( QDataStream::Qt_4_7 );
out << quint16(0) << QTime::currentTime() << str;
out.device()->seek(0);
out << quint16( arrBlock.size() - sizeof( quint16 ) );
pSocket->write( arrBlock );
}
To copy to clipboard, switch view to plain text mode
Bookmarks