问题标签 [qtcpsocket]
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.
qt - TCP网络通信安全风险
我正在开发一个可以使用 QTcp* 建立服务器-客户端连接的应用程序
客户端向服务器发送一个数字。
检查接收到的字符串的长度和质量(它真的是一个数字吗?)
如果一切正常,则服务器回复文件路径(取决于发送的编号)。
客户端检查文件是否存在以及它是否是有效的图像。如果文件符合规则,则对文件执行命令。
这种类型的连接存在哪些安全问题?
该程序是为 Linux 系统设计的,图像文件的外部命令是使用 QProcess 执行的。如果发送的字符串包含类似的内容(不要运行以下命令):
那么它将在未找到文件的安全检查中被阻止(因为它不是文件路径)。如果没有对发送的字符串的有效性进行任何检查,则将执行以下命令:
这会引起恐慌!但这不可能发生。
那么,有什么我应该考虑的吗?
qt - QTcpSocket doesn't receive all data
Hello everyone i did a server and a client, in loaclHost this programms work perfectly but when i change the localHost to my ip the Client no longer receive all the data, so i decide to rewrite the code. here is a part of my new code:
and here is the debug informations:
somebody can help tell my why it does'nt work and how make my client work ?
c++ - QTcpServer 中的内存泄漏参与不同线程中的连接
我正在 Windows 7 上的 Qt 4.7 中开发 RPC 服务器。为了同时参加多个执行,每个请求都在单独的线程中运行(因为函数可能会阻塞)。我继承自 QTcpServer 并重新实现了incomingConnection 函数,它看起来像这样:
RpcServerConnection 托管数据交换。init 方法如下所示:
一旦接收到所有数据并发送响应,就会发出完成信号。调试我可以看到所有线程和套接字都被删除了。但是,进程内存会随着每个新连接而增加,并且在结束时不会被释放......
从 QTcpServer 继承时,我是否必须释放其他任何东西?
qt - 并非同一函数中的所有 QMessageBox 都实际显示
这是 C++ 中用于 TCP 客户端-服务器通信的基本 QtCreator 代码的一部分。这应该是我需要开始工作的最后一个功能。但是为了理解它是如何工作的以及错误在哪里,我试图展示一大堆 QMessageBoxes。
当我运行它时,我得到的第一个是“成功”。但我没有得到最后三个中的任何一个(因为 if-else,我希望至少有一个会出现)。所以我在以 return 结尾的“if”语句中放了几个 QMSGBoxes,看看这是否是问题所在,但即使它们也没有出现。
知道为什么会这样吗?提前致谢。
multithreading - Write to QTcpSocket fails with different thread error
I have created a simple threaded TCP server which collects 3 lines read from the socket, and then tries to echo them back to the socket. The function echoCommand below crashes.
and here is the file where I connect up the slots/signals:
during or after the socket write, with this error:
Since I create the tcpSocketPtr in the run() function, I know it is in the same thread as this function. Why would the socket write fail? I should point out that the write is succeeding since I see the output on the telnet window...but still the socket write fails...
Just more info...I found that I should NOT put a slot in a QThread..not sure how to get around this, but here is my class definiation:
qt - Qt endl 从 linux telnet 看起来很棒,从 windows telnet 看错了
我正在 Qt 中构建一个 telnet 服务器应用程序,当我从 linux telnet 客户端连接时,输出看起来很棒。例如,向我的控制台发送 "A" << endl << "B" << endl << "C" 如下所示:
现在,当我从 Windows telnet 客户端连接时,我看到
显然 Qt 的 endl 只发送 '\n'。有一个简单的解决方案吗?如果我用“\r\n”替换endl,我现在会搞乱linux客户端吗?我也必须强制冲洗吗?
这是我用来发送到我的 telnet 客户端的实际代码:
c++ - Qt/C++/Valgrind 在 QTcpSocket 断开连接时无效的读取大小为 8
我在我的 Qt/C++ 程序上运行 valgrind 并收到此错误:
第 188 行是下面的 waitForDisconnected 行:
我不完全确定这个错误意味着什么,但我该如何解决这个问题?或者这是我无法控制的?(一个Qt问题)?
我不确定它是否相关,但我得到的唯一其他错误是:
错误行是下面的 Start():
再次......这个启动功能如何导致内存泄漏?或者“可能丢失”这句话是否意味着它实际上没问题?
c++ - Qt/C++ QTcpSocket 导致内存泄漏,不知道为什么
我正在创建一个简单的(ish)远程登录服务器,现在正在使用 valgrind 进行调试。代码运行良好,但 valgrind 抱怨程序终止时内存丢失......罪魁祸首是我创建新 QTcpSocket 的行:
我尝试将“this”传递给 QTcpSocket(),但随后我尝试连接的信号槽抱怨与不同的父级关联。这是问题吗?线索?还有……答案是什么?
我通过将 tcpsocketptr 分配为 0 来删除/释放它,如下所示。是对的吗?
sockets - QDataStream写入大文件
我有一个文件传输应用程序,我正在使用 QDataStream 将从 QTCPSocket 读取的数据写入文件。当我写这篇文章时,我认为 QDataStream 将保持固定大小,但似乎当我从套接字读取并将数据流式传输到我的文件时,我的应用程序的内存稳步上升,我希望流式传输到末尾每个块的文件,因此不必将所有内容保存在 ram 中。
有谁知道我如何写入文件以使我的内存不会稳步增加?
qt - QTcpSocket会导致windows中句柄增加
我使用 qt4.8.5 和 windows。我使用 QTcpSocket 连接服务器。如果服务器没有打开,那么我会尝试连接它。我的方法是:
我会得到 error() 信号。
我使用计时器尝试连接,它确实调用了 error() 来删除袜子。但是我发现任务管理器中的句柄增加了。它有内存泄漏吗?但我关闭了袜子并使用 deletelater()。更重要的是,socket对象不在主线程中运行。
如果有人知道导致手柄增加的原因,请告诉我。谢谢!