我在使用QtNetwork連接計算機方面是全新的。網絡簡單網絡連接的簡單Qt代碼
現在我只想看到一個連接的嘗試。所以,我創建了一個GUI應用程序並在mainwindow.cpp我寫這兩個功能插槽,兩個按鈕:
void MainWindow::on_pbTalk_clicked(){
QString IP = ui->leIP->text();
ui->pteLog->appendPlainText("Now Talking to IP: " + IP);
talker = new Talker();
talker->connectToHost(IP,25000);
}
void MainWindow::on_pbListen_clicked(){
ui->pteLog->appendPlainText("Now listening on any port, I think");
listener = new Listener(this);
if (!connect(listener, SIGNAL(newConnection()), this, SLOT(on_newConnections()))){
ui->pteLog->appendPlainText("The connection of slot and signal failed!");
}
}
現在發話本質上是一個與QTcpSocket沒有什麼重新實現了,只是還沒有。
監聽器是用下面的代碼CON Listener.cpp一個QTcpServer既可:
Listener::Listener(QObject *parent) :
QTcpServer(parent)
{
qDebug() << "Listening on any port";
listen(QHostAddress::Any);
}
void Listener::incomingConnection(int socketDescriptor){
qDebug() << "New connection: " << socketDescriptor;
}
於是我運行同一程序的兩個實例。一個在我的機器中。我運行該程序並按下Listen按鈕(IP 10.255.255.101)。
第二個實例在虛擬機(IP 10.255.255.215)中運行,我運行程序並按下Talk按鈕。這,據我所知應該試圖打開一個連接到IP(這是10.255.255.101)在端口25000,我應該得到一個「新連接」消息在控制檯。但是沒有這樣的消息出現。由於這不起作用,我沒有繼續前進。
任何人都可以告訴我我可能會做錯什麼嗎?
消息(我在控制檯上寫的文本)是錯誤的,沒有意識到。並且因爲我正在跟蹤一個沒有使用端口的例子....錯誤。它現在有效。我不喜歡閱讀文檔。非常感謝你。 – aarelovich