Подскажите можно ли реализовать что то подобное в андроид приложение, а именно: принимать get или post запросы в приложение? То есть что бы приложение выступало как сервер и оно могло не отправлять запрос и получать какой то ответ а именно принимать запросы.
Зачем мне это нужно?
Мое приложение будет платить пользователям критовалюту за определённые действия, для этого мне нужно работать с некоторыми сервисами и ключами которые они предоставляют, если вставлять ключи в само приложение, то так сольют весь баланс, уже проверено. Если же использовать серверную часть тут тоже есть нюанс, любой желающий может декомпелировать приложение изменить некоторые данные под себя а именно: рекламные баннеры заменить на свои, и много чего другого, собрать приложение, но работать с моей серверной частью, то есть реклама скажем в приложение будет показываться его а оплачивать буду я. Для этого нужна какая то защита! Если отправлять данные с приложения и делать проверку на стороне сервера потом возвращать результат проверки, тем самым либо разрешать использование приложения либо давать запрет на использование, то тут опять нет гарантии что отправляемые данные не подменят. Пример:
Если взять getpackagename приложение отправить на сервер, а на стороне сервера сделать проверку если getpackagename который пришел в запросе совпадает с тем что в бд то давать разрешение на использование приложения. Но где гарантии того что человек который сделает декомпеляцию приложения, не подменит эти данные?
По этому я и хочу сделать если это возможно, что бы отправлялись данные с сервера в приложение а на стороне приложения происходила проверка, так уже нельзя будет подменить присылаемые данные!
Лучше сразу напишите какую изначальную проблему решаете, что-то мне кажется там другая проблема на самом деле
Как вы сможете решить проблему меняющегося айпишника и ещё сотню проблем?
Chesterfield25, во-первых, операционная система и рантайм Android проектировались под работу с ограниченными ресурсами, в частности энергетическими. Поэтому хорошие приложения пассивны и готовы к усыплению или закрытию операционной системой в любой момент. А спящее или закрытое приложение принимать подключения не может. Если же оно не будет засыпать или закрываться, то будет быстро жрать батарею. Во-вторых, мобильник обычно получает серый IP-адрес, уникальный только в пределах одной базовой станции. Очевидно, подключиться к вашему мобильному серверу сможет только другой мобильник в той же соте. Причём ему для этого ещё надо как-то узнать IP-адрес сервера. В-третьих, а зачем? Скорее всего вы делаете костыль и в мире мобильной разработки есть более удачные средства реализации необходимого вам функционала.
Приложение же пишете вы, как настроете функционал, так оно и будет работать.
Просто прослушивайте определенные порты и получайте запросы, но не отправляйте ничего в ответ.
Мобильный телефон как веб-сервер? В этом нет смысла по следующим причинам. Ненадёжна связь. Телефон часто попадает в зоны недоступности. Кому нужен сервер который периодически отваливается? Или какую логику должно иметь то приложение которое делает GET и получает SocketTimeout.
Сложности с получением IP. Куда подключаться? Какой алгоритм обновления?
Если нужно взаимодействие в обратную сторону от нормального сервера к телефону то уже много лет как создана технология веб-сокетов и всех устраивает. Сервер уведомляет телефон. Вот соцсети так работают.
Нужно взаимодействие в обратную сторону от нормального сервера к телефону
вкрации о том что нужно: нужно что бы при запуске приложения сервер присылал данные, потом эти данные обрабатывались и возвращался результат обработки на сервер.