QTcpSocket के साथ बहुत ही सरल है। शुरू के रूप में आप था ...
void MainWindow::connectTcp()
{
QByteArray data; // <-- fill with data
_pSocket = new QTcpSocket(this); // <-- needs to be a member variable: QTcpSocket * _pSocket;
connect(_pSocket, SIGNAL(readyRead()), SLOT(readTcpData()));
_pSocket->connectToHost("127.0.0.1", 9000);
if(_pSocket->waitForConnected()) {
_pSocket->write(data);
}
}
void MainWindow::readTcpData()
{
QByteArray data = pSocket->readAll();
}
ध्यान रखें, हालांकि, कि TcpSocket से पढ़ने के लिए आप डेटा एक से अधिक संचरण में, यानी प्राप्त हो सकता है। जब सर्वर आपको स्ट्रिंग "123456" भेजता है तो आपको "123" और "456" प्राप्त हो सकता है। यह जांचना आपकी ज़िम्मेदारी है कि ट्रांसमिशन पूरा हो गया है या नहीं। दुर्भाग्यवश, यह लगभग हमेशा आपकी कक्षा में राज्य के परिणामस्वरूप होता है: कक्षा को याद रखना होता है कि यह किस ट्रांसमिशन की उम्मीद कर रहा है, चाहे वह पहले से शुरू हो चुका है और यदि यह पूरा हो गया है। अब तक, मैंने इसके चारों ओर एक सुंदर तरीका नहीं लगाया है।
बहुत बाध्य रॉबिन, आप डेटा प्राप्त करने के लिए कुछ कोड प्रदान कर सकता है? –
निश्चित रूप से। मैंने तदनुसार अपना जवाब संपादित किया। – Robin
धन्यवाद श्रीमान !! –