msn メッセンジャーのようなプログラムを作成したいのですが、ネットワークで qt5 を使用しています。ローカル サーバーとの新しい接続を開くと、機能しません。サーバーが接続されていないことがわかりません。理由
メインウィンドウ.h
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QtNetwork/QTcpServer> #include <QtNetwork/QTcpSocket> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private slots: void on_pushButton_clicked(); void newConnection (); private: Ui::MainWindow *ui; QTcpServer *server; }; #endif // MAINWINDOW_H
メインウィンドウ.cpp
#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); server = new QTcpServer(this); connect(server , SIGNAL(newConnection()) , this , SLOT(newConnection())); if(server->listen(QHostAddress::Any , 5050)) { ui->label->setText("Not Start"); } else { ui->label->setText("Server Started Now"); } } MainWindow::~MainWindow() { delete ui; } void MainWindow::newConnection() { QTcpSocket *socket = server->nextPendingConnection(); socket->write("Hello Islam"); socket->flush(); socket->waitForBytesWritten(3000); socket->close(); } void MainWindow::on_pushButton_clicked() { newConnection(); }
これは呼び出しライブラリ用です
#------------------------------------------------- # # Project created by QtCreator 2013-11-03T10:00:37 # #------------------------------------------------- QT += core gui network greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = TCPTEST TEMPLATE = app SOURCES += main.cpp\ mainwindow.cpp HEADERS += mainwindow.h FORMS += mainwindow.ui
mainwindow コンストラクターで新しい接続を呼び出そうとしましたが、機能しませんでした