Задать вопрос
@Mr-Governor
Губернирую

Как с Android устройства отправить HTTP запрос на компьютер по USB (без сети)?

Есть андроид планшет, который подключен к компьютеру (в режиме отладки). На компьютере установлен ADB (Android Debug Bridge) драйвер, с компьютера по CLI ADB я могу выполнять всякие команды на планшете, но мне нужно именно с планшета отправлять данные на компьютер.
Например, после того как на планшете будет нарисована подпись, планшет должен отправить рисунок подписи на компьютер, нужно сделать это по USB.
Это можно реализовать по HTTP, на компьютере будет локальный HTTP-сервер, на 8000 порту например, который ожидает сигнала о том, что подпись поставлена.

Я никак не могу понять как с андроид устройства отправить сигнал на компьютер?
ЧатГПТ советует запустить adb forward на локальный сервер, но я не могу его запустить, т.к. получаю ошибку, мол порт занят моим локальным сервером. Я так понял, форвард используется в обратную сторону (с компа на телефон, а не обратно), далее чатГПТ теряется и несет одну и ту же чушь.
Какие есть варианты инициировать (оповестить) компьютер ИМЕННО С УСТРОЙСТВА?
  • Вопрос задан
  • 234 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
Как понимаю в этом деле поможет: adb reverse
https://medium.com/@godwinjoseph.k/adb-port-forwar...
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@WaterSmith
Android-разработчик. Java, Kotlin
Вы не можете по USB отправить HTTP запрос на компьютер, потому что HTTP это сетевой протокол.
По USB вы можете передавать данные в соответствии с протоколом USB.
Соответственно, на планшете и на компьютере должны быть запущены программы которые через этот протокол обмениваются нужными вам данными.
Костылями, из ADB и каких-то скриптов вы можете приблизиться к решению вашей задачи, но работать оно будет крайне нестабильно, и давать такое конечным пользователям нельзя.
P.S. ChatGPT помогает, когда вы понимаете что делаете, и вам нужна небольшая подсказка. Иначе вы не сможете разобраться где он вам врет, а врет эта шайтан-машина на каждом шагу.
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
В подобного рода задачах интеграции обычно нету готового коробочного способа. Типа установил приложение и все полетело. Скорее всего есть сценарий который надо выполнить шаг за шагом (проверяя успех на каждом).

Вобщем предлагаю следующее
1) Эмулировать Ethernet сеть через USB.
2) Поднять на десктопе http-сервер.
3) Поднять на адродите http-клиент
4) Отправить http-запрос.

Есть возражения?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы