void TcpServer::run()//4.建立socket连接
{
socket = new QTcpSocket;
qDebug("run----------");
//将Server传来的socketDescriptor与刚创建的socket关联
if (!socket->setSocketDescriptor(socketDescriptor))
{
qDebug("socket error");
return ;
}
bool b=connect(socket, SIGNAL(readyRead()),
this, SLOT(TcpServerReceiveDataSlot()),
Qt:irectConnection);// Qt::BlockingQueuedConnection
qDebug("%d",b);
}
void TcpServer::TcpServerReceiveDataSlot()
{
QString addr;
QByteArray data;
qDebug("TcpServerReceiveDataSlot------");
if(!socket->atEnd())
{
data = socket->readAll();
}
emit TcpServerReceiveDataSignal(addr, data);
emit finished();
}
b返回时true,但是不能收到数据。
|