qtcpsocket

    0热度

    1回答

    我想通过ssl或tcp套接字发送序列化数据。 QIODevice :: write不发送QDataStream,但只发送char *和QByteArray。 有没有一种方法可以通过套接字发送序列化数据?或者我怎样才能将QDataStream转换为QByteArray? 感谢

    2热度

    1回答

    是否有可能为一个与QTcpSocket释放其描述符所以在插座所有权可以转让另一个与QTcpSocket对象在不同的​​线程,或到QSslSocket,没有关闭/中断的插座? socket1.setDescriptor(descriptor); // ..... descriptor = socket1.descriptor(); socket1.release(); // <-

    0热度

    1回答

    是否可以从QTcpSocket读取未知数据形式? 我的意思是,我有一个TCP客户端和服务器应用程序。两者都使用QDataStream成功交换数据包。 如果说任何其他应用程序(不是我创建的)通过相同的IP和端口将数据发送到我的服务器,是否可以读取数据? 我知道,除非使用QDataStream编写,否则将无法读取它,但是如何转储接收数据以便我可以更改我的代码以接受该数据形式? 因此,最后我的问题是,如

    0热度

    2回答

    我想用一个QTcpSocket以200KB /秒(5秒传输)发送一个1MB文件。 ReadyRead槽功能首先读取文件大小(头文件),然后启动一个线程,在从套接字读取file_size字节时阻塞。但是,由于readyRead插槽功能在文件传输完成之前结束,因此readyRead函数(发射的新ReadyReads)将不会有新的调用干扰? 我在这里阅读:How to make sure that re

    0热度

    2回答

    我想用QTcpSocket传输文件。连接运行良好,但我的问题是当我尝试在文件上记录接收到的字节。当我打开文件时,在文件的开头有一些奇怪的字符。这些角色是什么?

    2热度

    1回答

    我知道我无法与线程之间的QTcpSocket通信,但我无法找到我做错了什么。 只要我发送数据发送信号到另一个线程中的QTcpSocket,QSocketNotifier应该禁止自己让QTcpSocket读取数据。因为我得到上述错误,它不会被禁用,readyRead()信号不会被发射。 我使用QEventLoop来实现阻塞机制(同步通信 - ModBus协议),而不锁定主循环。我不能使用waitRe

    0热度

    1回答

    我正在尝试使用TCP服务器并使用QTcpSocket客户端连接到它。大多数情况下,服务器和客户端恰好在同一台机器上,但这不是必需的。我想要做的是将文件从正在运行的多线程进程转移到想要共享服务器和客户端使用的信息的GUI。 连接等似乎很好。实际上,代码似乎长时间工作得很好,但现在我已经在不同的硬件上运行了它,而在Ubuntu 12.04而不是10.04上,偶尔会在接收的代码中获取嵌入的杂散字节 -

    2热度

    3回答

    我在负责从QTcpSocket读取数据的循环体中有以下代码片段(nntp是指向QTcpSocket的指针)。 std::vector<char> buffer; int bytesAvailable = nntp->bytesAvailable(); qDebug() << "bytesAvailable: "<<bytesAvailable; if(bytesAvailable <= 0)

    1热度

    2回答

    我有一个FTP服务器,在QTcpServer和QTcpSocket之上实现。 予取信号和槽机制同时支持多个TCP连接的优点,即使我有一个单一的线程。我的代码尽快返回到事件循环,它不会阻塞(不等待函数),并且它不会在任何地方使用嵌套的事件循环。这样我已经有了合作多任务,就像Win3.1应用程序一样。 但很多其他FTP服务器是多线程的。现在我想知道是否使用单独的线程来处理每个TCP连接会提高性能,尤其

    5热度

    1回答

    是否有可能创建一个新的QSslSocket并为它获取对现有TCP连接的所有权,并丢弃旧的QTcpSocket而不中断或关闭TCP连接? 我想这能实现我的FTP服务器,即要求最初的连接是加密的,并且仅在FTP客户端的请求(命令AUTH SSL或AUTH TLS),如果它在所有的,一个SSL/TLS明确FTPS握手开始。