Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Qt] Tcp, Problem z połączeniem się z hostem

Ostatnio zmodyfikowano 2012-03-03 22:06
Autor Wiadomość
ly000
Temat założony przez niniejszego użytkownika
[Qt] Tcp, Problem z połączeniem się z hostem
» 2012-03-03 22:06:23
Witam, mam kolejne mały problem:
Napisałem program który pobiera "index.html" z strony.
Gdy prawie wszystkie potrzebne funkcje zamieściłem w konstruktorze, było ok:

C/C++
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow( QWidget * parent )
    : QMainWindow( parent )
    , ui( new Ui::MainWindow )
{ ui->setupUi( this );
   
    socket = new QTcpSocket( this );
    connect( socket, SIGNAL( readyRead() ), this, SLOT( slotuj() ) );
    socket->connectToHost( "google.pl", 80 );
   
    socket->write( "GET /index.html \n" );
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::slotuj()
{
    char tekst[ 400 ];
    socket->read( tekst, 400 );
    ui->textBrowser->setText( tekst );
}
Ale gdy chciałem to sobie rozmieścić tak, aby dało się zadecydować samemu jakie zapytanie ma wysyłać program, to już niestety nic się nie wyświetla.
kod:

C/C++
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow( QWidget * parent )
    : QMainWindow( parent )
    , ui( new Ui::MainWindow )
{ ui->setupUi( this );
   
    socket = new QTcpSocket( this );
    connect( socket, SIGNAL( readyRead() ), this, SLOT( slotuj() ) );
    connect( ui->pushButton, SIGNAL( clicked() ), this, SLOT( slij() ) );
   
   
   
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::slotuj()
{
    char tekst[ 400 ];
    socket->read( tekst, 400 );
    ui->textBrowser->setText( tekst );
}

void MainWindow::slij()
{
    socket->connectToHost( "google.pl", 80 );
    socket->write( ui->lineEdit->text().toAscii() );
}
Niestety w Qt siedzie od kilku dni i nie mam pojęcia co jest przyczyną tego niepowodzenia.
Będę wdzięczny za rozwikłanie tego problemu ;]

@Edit: Okey, sorry za spam, już znalazłem odpowiedź;
C/C++
void MainWindow::slij()
{
   
    socket = new QTcpSocket( this );
    connect( socket, SIGNAL( readyRead() ), this, SLOT( slotuj() ) );
    connect( ui->pushButton, SIGNAL( clicked() ), this, SLOT( slij() ) );
    socket->connectToHost( "google.pl", 80 );
   
    socket->write( "GET /index.html \n" );
}
P-51890
« 1 »
  Strona 1 z 1