问题标签 [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.

0 投票
2 回答
2377 浏览

c++ - Is it better to keep a socket open for frequent requests, or to close the socket each time

I'm writing a program that will do 1 GET request a second to a server. I am using a socket (QTcpSocket), and I want to know if I should include "Connection: Close" within my request and then recreate the socket for each request, or if it is better to simply keep the socket alive because I am repeating the same request once every second.

0 投票
0 回答
6566 浏览

qt - 线程中的 QTcpSocket 通信

我正在制作两个应用程序:一个是服务器,一个是客户端。服务器使用 QTcpServer 和 QThread 来监听客户端。客户端使用 QThread 与服务器建立连接。服务器和客户端连接成功,但问题是如何在它们之间进行数据通信。在服务器端,当连接新客户端时,我使用 socket->write("hello") 将数据发送到客户端,但客户端没有收到它。“没有收到”的猜想基于在客户端调用 QDebug 时没有写任何内容。另外,我想问一下如何使客户端线程始终准备好从服务器接收数据,但有时可以在使用 PushButton 时将数据发送到服务器。任何帮助将不胜感激。

客户端 main.cpp(使用小部件)

客户端 tcpthread.h

客户端 tcpthread.cpp

服务器端 main.cpp

服务器端 tcpthread.h

服务器端 tcpthread.cpp #include "tcpthread.h"

0 投票
0 回答
599 浏览

qt - 通过 QTcpSocket 转发所有数据

我有一个使用 libssh 的 ssh 隧道设置。但是,这不会将它绑定到本地端口,所以我需要的本质上是将端口上接收到的所有数据转发到 ssh 通道。但是,当我这样做时:

插槽永远不会被调用,newDatareadyReadon QTcpSocket 永远不会被调用。每当我尝试通过外部脚本连接到端口时,我都会得到一个Operation timed out. 我确信至少端口已打开,因为当 Qt 应用程序未运行时,我得到的错误是Connection refused.

我考虑过使用QTcpServer,但是,我该如何处理这种情况?我可能会收到newConnection信号,但是我要向 ssh 通道写入什么数据?我将如何处理 QTcpServer 的多个传入连接?连接请求不也是数据包吗?我可以不将所有内容转发到频道吗(我指的 ssh 频道类似于我可以简单写入的 fd)。

0 投票
1 回答
429 浏览

c++ - QTcpSocket如何同时发送多个信息?

我正在做一个小型客户端/服务器预订应用程序,我坚持如何发送课程的信息,实际上我有 3 个课程,我发送的信息如下:

在客户端我收到这样的:

1、2 或 3 取决于类别。

问题是信息不完整,就像套接字崩溃一样,因为另一种方法正在写他,有没有办法按顺序接收所有信息或告诉服务器套接字完成读取?

请帮我 ;(...

PD:是的,服务器和套接字连接成功,我确定 :)

注意:我有一个有 3 个客户(21727090、20350202 和 123)的 QList,并且我收到了这个低谷 qDebug()

2

“客户:21727090”

“客户:20350202”

“客户:123”

“客户:”

“客户:”

“客户:”

0 投票
1 回答
66 浏览

c++ - 使用 QtNetwork 类的最小依赖是什么

我想在我的共享库中使用QTcpSocketQSslSocket,但我因需要创建QCoreApplication. 也许我弄错了,没有必要创建QtCoreApplication?使用 Qt Sockets 的最小依赖是什么?

0 投票
1 回答
913 浏览

qt - qt简单的tcp通信与ui项目

我想创建一个简单的 Tcp 通信项目,但我遇到了一些问题,我不知道如何解决这个问题。当我尝试找到解决方案时,所有人都告诉在 .pro 文件中添加此代码(QT += 网络),但在 ui 项目中我没有任何 pro 文件,所以我不知道找到解决方案。

//commu.h

//commu.cpp

//main.cpp

我得到错误:

0 投票
1 回答
958 浏览

c++ - Qt:QSslSocket::bytesWritten() 信号发出过于频繁

我使用此代码通过套接字传输大文件,而不会出现内存使用高峰

这适用于QTcpSocket,但使用加密的 QSslSocket 时,bytesWritten()信号会不断发出,这导致我的函数一直写入套接字,比通过套接字发送数据要快得多,因此最终它的内存使用量达到 400 MB和操作系统杀死它。

0 投票
1 回答
787 浏览

c++ - QTcpServer::incomingConnection(qintptr socketDescriptor) 是否可以连接指定的套接字?

服务器类继承自 QTcpServer,连接类有一个 QTcpSocket 作为成员和一些关于想要连接的用户的信息(名称、IP、ID ...)

我的问题是我对new_connection 一无所知。我需要知道谁在连接服务器。出于这个原因,我想重新连接,但如何?有什么办法吗?还是必须等到我从连接的套接字(用户)收到数据(问候消息)?

0 投票
0 回答
770 浏览

c++ - 通过 QTcpSocket 进行双向通信

我正在编写一个通过 QTcpSocket 在服务器和客户端之间进行通信的应用程序。

服务器是标准电脑上带有 gui 的应用程序。

Client 是 Raspberry pi 上的控制台应用程序。

客户端.cpp

服务器.cpp

这是代码。所以现在问题描述:

我正在启动服务器应用程序,然后在 Raspberry 上启动客户端应用程序。两个应用程序都在连接我在 Server.cpp 的“onNewConnection”方法中看到它。

但是,当我尝试使用 server.cpp 中的“sendMessage”向客户端发送内容时,客户端什么也没有显示。我应该在 client.cpp 的“readyRead”方法中从服务器接收数据,但它永远不会被调用。我做错了什么?

我的朋友告诉我检查我是否在两个平台上获得了相同版本的 QT。所以我检查了一下,它不是,但也许是问题所在?

树莓派,Arch linux 没有 x 服务器

服务器,linux mint

您能否也给我一些改进此代码的提示?

0 投票
1 回答
475 浏览

qt - QT QTcpSocket miss some data after start write data to server

I get sine wave from server though TCP and plot it. Everything seems to be fine until I start sending something back at c>1000. After one byte sent, I still get data but the waveform of sine wave is changed. I'm sure that there are some missed data but I can't find bugs in my code. The transmission rate is about 1M bps.

The question is

  1. When I write something to server, how it effects to socket?

  2. Why the socket miss some data?

  3. How can I fix it?

    /li>