最近写一个socket单服务端多客户端的小程序。遇到了点问题:
就是incomingconnect这个函数无法调用。我看了文档,该函数会在一个新的client与服务端建立起连接的时候被调用。而不需要显式的signal去触发。于是我就直接在mainwindow.h里面做如下定义
class mytcp: public QTcpServer
{
Q_OBJECT
explicit mytcp(QObject *parent = 0);
~mytcp();
protected:
void incomingConnection(qintptr socketDescriptor);
};
并在mainwindow.cpp文件里面重写了该函数:
void mytcp::incomingConnection(qintptr socketDescriptor)
{
qDebug()<<"123";
}
我是希望每一次有client连接到主机的时候,就会打印出123,但是;client连接上主机的时候,并没有见到打印出123.感觉这个函数没有被调用啊。我是直接把它加到mainwindow.h里面,没有另外插入一个新的cpp和.h文件。至于这个为什么在这个子类里面只定义了这一个函数,是--因为:其他的功能我都用QTcpServer这个基类里面的函数实现了。而这个incomingconnect是个虚函数,不重写的话,没办法调用。而哦恰好要用到呀。请问各位,该怎么解决这个问题 呢?谢谢大家