小编irp*_*pbc的帖子

QTcpServer如何真正监听连接

我对QTcpServer如何在线程和阻塞的幕后工作感兴趣.QTcpServer有一个listen()方法立即返回.如果侦听成功启动,服务器将发出信号newConnection().我感兴趣的是当listen()方法返回时服务器是如何监听的(它是在主线程上).使用QTcpServer的控制台应用程序的常见示例如下所示:

//main.cpp
int main(int argc, char* argv[])
{
    QCoreApplication app;
    MyServer server;
    app.exec();
}

//MyServer.cpp
MyServer::MyServer(QObject *parent) : QObject(parent)
{
    this->server = new QTcpServer(this);
    connect(server, SIGNAL(newConnection()), this, SLOT(on_newConnection()));
    if (!server->listen(QHostAddress::Any, 1234))
        //do something in case of error
}
void MyServer::on_newConnection()
{
    QTcpSocket* socket = server->nextPendingConnection();
    //do some communication...
}
Run Code Online (Sandbox Code Playgroud)

QTcpServer依赖于QCoreApplication(或者一个QRunLoop)现有和运行recive网络事件.它可以在没有QCoreApplication::exec()被叫的情况下正常工作吗?

qt qtcpserver

8
推荐指数
1
解决办法
9711
查看次数

泛型如何在C++/CX中运行

我在互联网上找不到任何相关内容,所以我正在寻找能够深入了解C++/CX的方式的人.在维基百科的文章对C++/CX说,它支持基于运行时的仿制药,至极将意味着你不需要与全面实施的头文件,以实例化一个泛型类型.我承诺它如何适用于.NET(程序集包含IL代码,JIT只能在其中插入具体类型并在有新的实例化时编译它),但在C++/CX(本机编译)中没有JIT可以编辑运行时的代码(我认为x86机器代码非常难)

那么这里有什么诀窍,是用拳击或一些新设计方案进行类型擦除?

(我知道有关类型的元数据以.NET格式存储,我在方法中的代码之后)

c++ windows-runtime c++-cx

7
推荐指数
1
解决办法
2196
查看次数

标签 统计

c++ ×1

c++-cx ×1

qt ×1

qtcpserver ×1

windows-runtime ×1