问题标签 [qlocalserver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Qt 5.2:QLocalServer 接收重复的 readyRead 信号
我对设计一个简单的 QLocalServer-QLocalSocket IPC 系统的问题感到困惑。
QLocalServer 等待新连接并将信号连接到正确的插槽。
这个 readAll 是有意完成的,以检查我如何按顺序获得两个 readyRead 信号(来自同一个插槽指针,我验证了这一点)。
客户端操作相当简单:
_socket->write(data)调用会在服务器上触发重复的 readyRead(即使服务器端已通过 ReadAll 调用读取了所有数据)。
任何迹象表明我应该在哪里看?
c++ - QLocalServer 不会启动传入连接
我正在 Qt 中创建一个简单的 QSocketServer。套接字开始侦听,但incomingConnection 方法似乎从未运行。有人可以解释这里有什么问题吗?
主要的:
管道服务器.h
管道服务器.cpp
我看到 STARTED 消息,但在运行时从未看到 NEW CONNECTION:
socat -v READLINE unix-connect:/tmp/test.sock
谁能告诉我为什么incomingConnection 没有触发?
- 更新:只是为了好玩,我将一个方法连接到 newConnection 信号中,当我连接时该方法会触发。那么为什么没有调用incomingConnection 方法呢?
c++ - 使用 Qt 在自定义位置创建本地套接字
我正在使用 QLocalServer 创建一个本地套接字,以便其他进程可以连接到我的 Qt 应用程序。我的问题是 Qt 似乎/tmp/
很想在XDG_RUNTIME_DIR
.
如果我使用:
然后在 中创建套接字/tmp/
,但是如果我尝试指定绝对或相对路径,那么 Qt 似乎根本不会费心创建套接字。
编辑:仔细检查后,设置套接字文件权限的 setSocketOptions(QLocalServer::UserAccessOption) 是阻止我指定套接字路径的原因。注释掉这一行会消除限制。但这肯定不是 Qt 的预期行为方式吗?
c++ - 当字节不可用时,QLocalServer 发出 readyRead
我正在尝试在本地 OSX 10.11 中启动 QLocalServer。
我有客户端尝试循环连接到服务器:
当此代码运行时,我尝试在另一个应用程序中启动 QLocalServer:
为什么调用 readyRead 时,字节不可用?
linux - 是否可以从 QLocalSocket 连接中获取 PID?
我正在构建一个客户端/服务器架构,其中客户端进程可以使用本地 Unix 域套接字连接到服务器。
服务器进程在 Qt 中实现,使用 QLocalServer 和 QLocalSocket 来维护服务器端的连接。
有没有办法直接从连接信息中获取连接客户端进程的PID?我不想相信客户端通过套接字连接告诉我它的 PID,因为客户端可能会尝试欺骗另一个进程的 PID。
memory - QLocalServer/QLocalSocket 内存泄漏
我在使用 QLocalServer/QLocalSocket 时遇到了一些问题。
我正在将原始像素数据从服务器发送到客户端,并且在处理过程中存在巨大的内存泄漏。但我不知道是什么原因...
内存增加约 20MB/1 秒(当我在系统管理员那里检查时。)
以下是我的代码。
服务器
客户
这两个代码可以很好地交流,但记忆会急剧增加,当超过一定水平时就会终止。
我试过像connection->reset() 或 QByteArray::clear()..etc但它不起作用。
我的问题有什么想法吗?
使用QTcpServer/QTcpSocket怎么样?这可以解决我的问题??
请分享你的想法。谢谢!!
qt - 在关闭之前将数据作为客户端发送到 QLocalServer 的问题
我正在学习 Qt,并且在关闭客户端应用程序之前向 QLocalServer 发送一些数据时遇到了一些麻烦。在示例中,我尝试发送“再见”两次。但在服务器端,我只收到过一次。无论客户端在关闭前发送多少次,服务器都会收到唯一的第一条消息。如果我使用 QCloseEvent,则结果是相同的。也许我做错了什么?谢谢你的帮助!
简化服务器示例
那是客户的例子
qt - 将异步 QLocalServer 与 QEventLoop 一起使用
我想QLocalServer
在应用程序中使用不使用QCoreApplication
. 据我了解,这应该使用QEventLoop
:
同步版本按预期工作。有没有办法使用异步方式QLocalServer
?
编辑:这是一个基本的版本:
问候,
qt - 从其他线程关闭阻塞 QLocalServer
我QLocalServer
在线程中运行阻塞:
如何从另一个线程关闭服务器?或者是使用非阻塞事件的唯一方法?
问候,
qt - QLocalSocket 问题继续向 QLocalServer 发送数据
我正在尝试将一些数据从 QLocalSocket 循环发送到 QLocalSever。服务器只获取第一个数据而不接收后续数据,但是如果我在客户端的每次调用之间引入 1 mec 延迟,则服务器开始接收所有内容。请查看以下客户端和服务器代码。
客户端.cpp
服务器.cpp
来自 qt doc,据说
readyRead() 不会递归发出;如果您重新进入事件循环或在连接到 readyRead() 信号的插槽内调用 waitForReadyRead(),则不会重新发送该信号(尽管 waitForReadyRead() 仍可能返回 true)。
这是我的问题吗?添加计时器是这里唯一的解决方案吗?
你可以编译这个测试项目-> http://www.filedropper.com/testsocket