gpt4 book ai didi

qt - 从以太网上的 Qt 应用程序发送文件

转载 作者:可可西里 更新时间:2023-11-01 02:44:56 25 4
gpt4 key购买 nike

我想使用以太网从 Qt 应用程序发送文件。当我单击按钮时,必须传输文件。所以我的问题是:问:需要什么配置,因为 IP 和网络掩码在我使用的设备中是固定的:AM335x:Linux操作系统:Qt应用

我是 TCP/IP 的新手,请告诉我如何进行;从以太网我能够从 PC 下载 Qt 应用程序可执行文件到我的设备(AM335x)并且它运行良好。但我想将文件从 Am335x 设备发送到其他设备或 PC。

问候普拉文

最佳答案

基本上您想要使用的是 Qt 网络模块。你可以在这里阅读:

http://qt-project.org/doc/qt-5.0/qtnetwork/qtnetwork-programming.htm

并在此处找到类(class)列表:

http://qt-project.org/doc/qt-5.0/qtnetwork/qtnetwork-module.html

简而言之,可用于 TCP 通信的两个主要类是 QTcpServer 和 QTcpSocket。您可以设置服务器来监听连接,它会返回一个 QTcpSocket 来进行实际的通信。您可以使用 QTcpSocket 进行任何传出通信。

如果不想使用 TCP,可以使用数据报(更简单,但最终不太可靠)。这里 QUdpSocket 是要使用的主要类,用于发送和接收(您需要将套接字绑定(bind)到机器上的端 Eloquent 能接收)。

编写自定义程序来基于这些类进行简单的文件传输会相当容易,但是您也可以查看旨在专门处理文件的更高级别的协议(protocol)。

要与连接另一端的 FTP 服务器进行简单交互,您可以使用 QFtp 类。 FTP 客户端应用程序的一个示例是 here .在 Qt 中编写 FTP 服务器会更复杂,但是您可以在这里查看:https://code.google.com/p/qt-ftp-server/ .

当然,所有这些都假定以太网连接已正确设置并且您的计算机具有有效的 IP 地址。请记住,以太网是一种链路层协议(protocol),构成了更高级别 IP 和 TCP 协议(protocol)的原始基础。更高级别协议(protocol)的想法是它们可以在整个 Internet 的各种链路层上使用。编写直接与链路层协议(protocol)交互的程序是非常不寻常的(当然除非您正在为操作系统编写网络堆栈)。

在大多数网络上,IP 地址/网络掩码等配置由运行在其中一台设备上的 DHCP 服务器处理,最常见的是在连接所有设备的路由器上(如果您已经运行了 DHCP,那么您可能不必担心).如果没有 DHCP,您通常可以在大多数设备上配置静态地址和网络掩码。选择它们是一个相当简单的过程。 This page对这些概念有相当好的介绍。

关于qt - 从以太网上的 Qt 应用程序发送文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19131820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com