• 4028阅读
  • 2回复

Qt socket Client & Server 問題 [复制链接]

上一主题 下一主题
离线nkc731210
 
只看楼主 正序阅读 楼主  发表于: 2010-03-19
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
Dear All:

各位祖國的兄弟們,小弟遇到一個棘手的問題:

Client 要傳送一個ComboBox -> currentIndex,到Server 接收後,Server 收到這個int,依照這個int 去改變Label 的SetText。

1.為甚麼我的Client 沒有傳送ComboBox -> currentIndex出去?

2.我的Server 要怎麼接收這個 int ComboBox -> currentIndex?

請各位大哥幫幫忙那邊需要改?
附件: client.zip (318 K) 下载次数:23
附件: Server.zip (305 K) 下载次数:27
离线nkc731210
只看该作者 2楼 发表于: 2010-03-19
good
怎麼构造一个message,包含t的值?

Server 怎麼讀跟解析?

可以從我程式去改舉一個例子嗎?

小弟是新手,想學習
离线hasitate

只看该作者 1楼 发表于: 2010-03-19
你的代码似乎不全。
在client中
void Dialog::startTransfer() {
    int t;
    t = ui->comboBox->currentIndex();
}
你构造一个message,包含t的值,然后发给server,server端接受,就可以得到相应的值。

如果这个不起作用,你可以这样试试:
void Dialog::start() {
    client.connectToHost(hostAddress, hostPort);

    QApplication::setOverrideCursor(Qt::WaitCursor);
    //ui->p1->setEnabled(false);
    //closeConnection();

    if (waitForConnected(5000))
    {
        startTransfer();
    }
}

在server端,
ServerDialog::ServerDialog(QWidget *parent)
    : QDialog(parent), ui(new Ui::ServerDialog)
{
    ui->setupUi(this);
    ui->L1->setText("OK");
    server.listen(9393);

    connect(&server, SIGNAL(newConnection()),
            this, SLOT(acceptConnection()));
}

void ServerDialog::updatelabel(){
    //rec=(int)clientConnection;
//应该去读
//server.read()
//然后解析

     if(rec == 0)
     ui->L1->setText("iteam 1-1");
     else if(rec == 1)
     ui->L1->setText("iteam 2-2");
     else if(rec == 2)
     ui->L1->setText("iteam 3-3");
     else if(rec == 3)
     ui->L1->setText("iteam 4-4");
}

    
快速回复
限100 字节
 
上一个 下一个