QLocalServer
继承自QObject。
QLocalServer提供了一个基于本地套接字(socket)的服务端(server)。
QLocalServer可以接受来自本地socket的连接。
server通过调用listen(),监听特定的连接。
newConnection()是在每次server与client连接上时所发出的信号。
nextPendingConnection()将等待中的连接当作一个已连接上的QLocalSocket。返回值是指向QLocalSocket的指针,这个QLocalSocket可以与client建立通信。
当发生错误时,serverError() 返回错误的类型,调用errorString()可以获取对错误的描述。
在监听过程中,通过 serverName()可以获取当前server监听的名称。
close()使QLocalServer停止对连接请求的监听。
虽然QLocalServer是为在事件循环中使用而设计出来的,但是在没有事件循环时也是可以使用的。没有事件循环时,你必须使用waitForNewConnection(),它只在以下两种情况下解除阻塞:1)有可用的连接;2)超时。
QLocalServer::QLocalServer ( QObject * parent = 0 )
创建一个新的本地socket的server。
通常使用这样的方式创建:
QLocalServer *myServer = new QLocalServer(this);
QLocalServer::~QLocalServer ()
销毁QLocalServer对象。
如果server正在监听连接,该方法会自动关闭这个监听。
必须在server delete之前将当前处于连接状态的client QLocalSockets断开连接(或者将client的QLocalSockets重定向)。
void QLocalServer::close ()
停止监听连接请求。
该操作不会影响已存在的连接,

本文介绍了QLocalServer和QLocalSocket如何实现进程间通信,QLocalServer作为服务端监听连接,QLocalSocket用于客户端建立连接。QLocalServer的listen()方法开始监听,newConnection()信号在有新连接时触发。QLocalServer的nextPendingConnection()获取连接的QLocalSocket进行通信。QLocalServer提供错误处理和最大等待连接数设置等功能,适合事件驱动和非事件驱动的应用场景。
最低0.47元/天 解锁文章
1257

被折叠的 条评论
为什么被折叠?



