英文注释都是从Qt助手里面抄的,英语不好,就不翻译了。
在启动程序的时候,要先启动服务端,然后再启动客户端才能建立连接,如果先启动客户端,再启动服务端,就连接不上了。
我是想在客户端开一个死循环一直检测是否连接成功,然后不停的连接,直到连上,跳出循环,这样就算先启动客户端也可以连接上。
Client:
//widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QPushButton>
#include <QTextEdit>
#include <QTcpSocket>
#include <QAbstractSocket>
#include <QByteArray>
#include <QString>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
void initUi(); //初始化界面
void newTcpConnect(); //创建新的连接
private slots:
void sendMessage(); //发送消息
void receiveMessage(); //接收消息
private:
QTextEdit *myEdit,*yourEdit;
QPushButton *sendButton,*closeButton;
QHBoxLayout *hlayout;
QVBoxLayout *vlayout,*alllayout;
QTcpSocket *tcpSocket;
};
#endif // WIDGET_H
//widget.cpp
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
in