2013-10-02 5 views
1

Я хочу отправить файлы из приложения Qt с использованием Ethernet. Как я нажимаю кнопку Push, файлы должны быть переданы. поэтому мой вопрос: Q: что конфигурация требуется, так как IP, Net Mask фиксируется в моем устройстве я использую: AM335x : Linux OS : Qt приложениеОтправить файлы из приложения Qt в ethernet

Я новичок в TCP/IP скажите мне как действовать; от Ethernet Я могу загрузить исполняемый файл приложения Qt с ПК на свое устройство (AM335x), и он работает хорошо. Но я хочу отправить файлы с устройства Am335x на другое устройство или ПК.

С уважением Praveen

ответ

1

На первом, вы должны быть уверены, что цель вы хотите отправить файл, достижима. Используйте ping. Если ping звонок успешно, то вы можете пойти дальше. В противном случае вы должны проверить свой network settings на соответствие вашей локальной сети.

У вас есть то различные способы отправки файлов: FTP, HTTP через netcat, используя CIFS и т.д.

+0

Это действительно полезно; –

4

В основном то, что вы хотите использовать это модуль Qt Network. Вы можете прочитать об этом здесь:

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

И найти список класса здесь:

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

Очень кратко два основных класса, которые можно использовать для TCP коммуникации QTcpServer и QTcpSocket. Вы можете настроить сервер для прослушивания соединений, и он вернет QTcpSocket для выполнения фактической связи. Вы можете использовать QTcpSocket для любой исходящей связи.

Если вы не хотите использовать TCP, вы можете использовать дейтаграммы (более простые, но в конечном счете менее надежные). Здесь QUdpSocket является основным классом для использования, как для отправки, так и для получения (вам нужно привязать сокет к порту на вашем компьютере для получения).

Было бы довольно легко написать специальную программу для простой передачи файлов на основе этих классов, однако вы также можете посмотреть протоколы более высокого уровня, предназначенные специально для работы с файлами.

Для простого взаимодействия с FTP-сервером на другом конце соединения вы можете использовать класс QFtp. Примером клиентского приложения FTP является here. Написание FTP-сервера в Qt было бы более сложным, однако вы можете посмотреть здесь: https://code.google.com/p/qt-ftp-server/.

Все это, конечно, предполагает, что Ethernet-соединение настроено правильно и что ваш компьютер имеет действительный IP-адрес. Имейте в виду, что Ethernet является протоколом уровня канала и формирует необработанную основу для протоколов IP и TCP более высокого уровня. Идея протоколов более высокого уровня заключается в том, что они могут использоваться во многих каналах связи в Интернете. Было бы очень необычно писать программу, которая напрямую взаимодействует с протоколом уровня канала (если, конечно, вы не пишете сетевой стек для ОС).

В большинстве сетей конфигурация IP-адресов/сетевых масок и т. Д. Обрабатывается сервером DHCP, работающим на одном из устройств, чаще всего на маршрутизаторе, подключающем все когда-либо (если у вас уже есть DHCP, то вам, вероятно, не нужно беспокойство). Без DHCP обычно можно настроить статический адрес и маску сети на большинстве устройств. Выбор их - довольно простая процедура. This page имеет довольно хорошее введение в концепции.

Смежные вопросы