J'essaie de communiquer via TCP Socket entre une application QT4 (MyApp) et Cayuga (écrit en C++).Problème entre un QTcpServer et un TCPClientSocket (Cayuga)
La partie de connexion fonctionne correctement, c'est-à-dire que Cayuga se connecte à MyApp.
Maintenant, MyApp envoie des données à Cayuga, mais rien n'est reçu.
MyApp vide :: init()
QTcpServer *m_server;
QTcpSocket *clientConnection;
//Open socket for transmission
m_server = new QTcpServer(this);
if (!m_server->listen(QHostAddress::Any, m_port)) {
//Error handling
return;
}
connect(m_server, SIGNAL(newConnection()), this, SLOT(startSend()));
MyApp vide :: startSend()
{
clientConnection = m_server->nextPendingConnection();
}
Le fait est writting ici:
QByteArray block;
QDataStream out(&block, QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_4_0);
out << (quint16)0;
out << s;
out.device()->seek(0);
out << (quint16)(block.size() - sizeof(quint16));
clientConnection->write(block);
clientConnection->flush();
Mon tuteur a suggéré d'utiliser une bibliothèque externe (cudb) si je n'arrive pas à l'utiliser avec QTcpSockets. Cela ne me semble pas normal et c'est pourquoi j'espère que vous aurez une meilleure réponse à mon problème.