QTcpServer 用于编写服务器程序
QTcpServer(QObject * parent = 0) //建议不指定父对象
virtual~QTcpServer() // 重写析构 调用 close();
服务器编程基本模型
QTcpServer * TcpServer; // 主要是用来监听的,这是QTcpServer类特有的一些功能
// 第一步 创建服务器对象,在this 所在的线程中
TcpServer = new QTcpServer(this);
// 第二步 设置服务器对象端口,和连接方式 并 开启连接监听
TcpServer->listen(QHostAddress::Any,qint16 port); // 监听 连接请求
// 第三步 根据连接信号 监听 创建客户端 连接对象
connect(TcpServer,SIGNAL(newConnection()),this,SLOT(createClientSocket()));
// 这样的创建是非阻塞式的
// 第三步 获取新连接对象
void Dialog::createClientSocket
{
serverConnect = TcpServer->nextPendingConnection(); //得到每个连进来的socket
//返回的对象不可以用于其他进程 除非重写 incomingConnection();
// serverConnect 就是 客户端对象
// 第四步 响应 客户端的 数据通信
connect(serverConnect,SIGNAL(readyRead()),this,SLOT(readMessage())); //有可读的信息,触发读函数槽
}
// 第五步 关闭服务器的连接
TcpServer->close();
quint16serverPort() const // 查看服务器对象 使用的端口
QHostAddressserverAddress() const //服务器地址
QStringerrorString() const // 错误输出
QNetworkProxyproxy() const
boolwaitForNewConnection(int msec = 0, bool * timedOut = 0) // 阻塞方式 响应 客户端连接
未完.....