Apenas para complementar o post, caso pretenda fazer uma conexão client em Qt para conectar ao server descrito no post anterior, é muito mais simples, bastando criar uma instância do QTcpSocket, um QHostAddress e então conectar, aguardar a conexão ser estabelecida, escrever e ler. Mais uma vez enfatizo que a simplicidade do conteúdo é pela questão de rápida consulta por mim mesmo, quando houver necessidade, mas espero que alguém mais possa desfrutar (ou até discorrer a respeito) desse conteúdo. Nem tem mais o que acrescentar de tão simples:
mainwindow.cpp
#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); teste(); } void MainWindow::readIsDone() { qDebug() << "ok"; } void MainWindow::handle(qint64 bytes) { qDebug() << bytes; } void MainWindow::teste() { QTcpSocket sockets; connect(&sockets,SIGNAL(bytesWritten(qint64)),this,SLOT(handle(qint64))); connect(&sockets,SIGNAL(disconnected()),this,SLOT(close())); connect(&sockets,SIGNAL(readyRead()),this,SLOT(readIsDone())); sockets.connectToHost("127.0.0.1", 9000); for (int i=0;i<4;i++){ QString val = QString::number(i); if(sockets.waitForConnected()){ sockets.write(val.toUtf8()+"n",val.length()); sockets.waitForReadyRead(); qDebug() << sockets.readLine(); sockets.flush(); qDebug() << "texto" << val; } } //sockets.disconnectFromHost(); //sockets.close(); } MainWindow::~MainWindow() { delete ui; }
mainwindow.h
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QTcpSocket> #include <QDebug> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private: Ui::MainWindow *ui; private slots: void handle(qint64 bytes); void readIsDone(); void teste(); }; #endif // MAINWINDOW_H
Se gostou, não deixe de compartilhar; dê seu like no video e inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.
Prefere seguir-nos pelo facebook? Basta curtir aqui.
Prefere twitter? @DobitAoByte.
Próximo post a caminho!