IPC(进程间通信)之QLocalServer和QLocalSocket实现进程间通信 包含接口说明

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

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 ()
停止监听连接请求。
该操作不会影响已存在的连接,

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值