MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); room[1] = "房间1"; room[2] = "房间2"; room[3] = "房间3"; room[4] = "房间4"; room[5] = "房间5"; //根据状态信息给room1~room5赋值,我这里是特别简单的直接赋值 看一下可读状态信息赋值后分别显示 ui->textBrowser_room1->setText(room[1]+"\n\n关机");//显示文本一内容,可设置参数为房间状态文本, ui->textBrowser_room2->setText(room[2]+"\n\n关机"); ui->textBrowser_room3->setText(room[3]+"\n\n关机"); ui->textBrowser_room4->setText(room[4]+"\n\n关机"); ui->textBrowser_room5->setText(room[5]+"\n\n关机"); setupsocket(); port = 6666; //新建一个QTimer对象 timer = new QTimer(); //设置定时器每个多少毫秒发送一个timeout()信号 timer->setInterval(60000/quick); //启动定时器 timer->start(); //信号和槽 connect(timer, SIGNAL(timeout()), this, SLOT(refreshMonitor())); }
/* * setuphost: Configures a struct connectinfo for * connecting to a host. Opens a socket for it. * * returns 0 on success, -1 on failure */ static int setuphost(struct connectinfo *cinfo, char *hostport) { struct hostent *tmp; char *port; struct servent *serv; if (!hostport) { fprintf(stderr, "null hostname passed to setuphost. bailing\n"); exit(-1); } port = strchr(hostport, ':'); if (!port || *(++port) == 0) { return -1; } if (port[0] < '0' || port[0] > '9') { serv = getservbyname(port, "tcp"); if (!serv) { return -1; } cinfo->port = ntohs(serv->s_port); } else { cinfo->port = atoi(port); } cinfo->portname = strdup(port); cinfo->hostname = strdup(hostport); port = strchr(cinfo->hostname, ':'); *port = 0; tmp = gethostbyname(cinfo->hostname); /* If DNS fails, skip this puppy */ if (tmp == NULL) { cinfo->status = -1; return -1; } cinfo->status = 0; /* Groovy. DNS stuff worked, now open a socket for it */ cinfo->socket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); if (cinfo->socket == -1) { return -1; } /* Set the socket stuff */ setupsocket(cinfo->socket); cinfo->socklen = sizeof(struct sockaddr_in); cinfo->sockaddr = (struct sockaddr_in *)malloc(sizeof(struct sockaddr_in)); bzero(cinfo->sockaddr, cinfo->socklen); bcopy(tmp->h_addr_list[0], &(cinfo->sockaddr->sin_addr), sizeof(cinfo->sockaddr->sin_addr)); #ifdef DA_HAS_STRUCT_SINLEN cinfo->sockaddr->sin_len = cinfo->socklen; #endif cinfo->sockaddr->sin_family = AF_INET; cinfo->sockaddr->sin_port = htons(cinfo->port); return 0; }