Witam, napisałem server, który za za danie ma wykryć nowe połączenie na ustalonym porcie a następnie odbierać i wysyłać do niego wiadomości:
#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(dodaj()));
connect(ui->pushButton_3,SIGNAL(clicked()),this,SLOT(lacz()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::lacz()
{
server->listen(QHostAddress::Any, ui->lineEdit_3->text().toInt());
ui->textBrowser->setText(ui->textBrowser->toPlainText() + "Server postawiony\n");
}
void MainWindow::dodaj()
{
ui->textBrowser->setText(ui->textBrowser->toPlainText() + "Połączono\n");
QTcpSocket *client = server->nextPendingConnection();
connect(client, SIGNAL(readyRead()), this, SLOT(rd()));
connect(ui->pushButton_2, SIGNAL(clicked()),this,SLOT(slij()));
}
void MainWindow::rd()
{
char text[50];
client->read(text,50);
ui->textBrowser->setText(ui->textBrowser->toPlainText() + text + "\n");
}
void MainWindow::slij()
{
client->write(ui->lineEdit->text().toAscii());
ui->textBrowser->setText(ui->textBrowser->toPlainText() + "Wysłano: " + ui->lineEdit->text() + "\n");
}
Ale niestety program się wysypuję kiedy coś ma wysłać albo odebrać od clienta. O co chodzi?
Z góry dziękuje za pomoc.