• XSS.stack #1 – первый литературный журнал от юзеров форума

Почему для зверьков на андроид почти не используют tcp ?

Chu Feng

RAM
Пользователь
Регистрация
26.11.2020
Сообщения
143
Реакции
78
Гарант сделки
4
Последнее время осваиваю xamarin как средство мобильной разработки (Мой основной яп c# , поэтому и xamarin а не котлин /java)
Для интереса решил написать небольшого зверька который позволит мониторить смс , удалять / отправлять нужные при необходимости .
Сорцы разных андроид ботов не смотрел , дабы самому разбираться , без чужого влияния .
И вот стало интересно , почему многие используют web запросы для управления своими зверьками .
Я допускаю что это из-за потребления батарейки телефона (постоянный tcp коннект и всё такое) но неужели это так критично с современными телефонами ? Скажу сразу , реальных тестов (в боевых условиях) не делал и если это и правда критично то готов верить на слова .
Для своих тестов / практики взял андроид ценной в 65$ и особой нагрузки не заметил .
Tcp client-server как по мне куда проще в реализации . Поставил сервер на дедик и всё , в бой .
Простой интерес , тапками не кидайте а приводите примеры
 
Постоянное соединение с сервером может обернуться проблемами для сервера

Для каждого клиента тебе придется держать отдельный открытый порт.
Если у тебя неожиданно в ботнете наберется 100 тыс ботов, твой сервер это не вывезет (максимум портов 65 535. Некоторые зарезервированы (1-1024), некоторые заняты (22), некотрые считаются временными и управляются системой (49 152 - 65 535)

Удержание соединения очень дорогая операция по ресурсам.
Это легко для клиента (не сложно контролировать 1 соединение), но тяжело для сервера (например 10 000 активных подключений)
 
Для каждого клиента тебе придется держать отдельный открытый порт.
Почему же? Есть всякие ahmyth, spynote, etc... работают на tcp/ip и все с ними ок, порт один
 
Для каждого клиента тебе придется держать отдельный открытый порт
Не уловил , зачем ? Можно и с 1
Сколько себя помню всякие ратники на 1 порту работают , и проблем не бывает
 
tcp обломается, если тело уйдет в сон, приложуху вытеснит scheduler или сеть прыгнет с wifi на 4g
обломается , но можно же сделать как вариант таймер , и по нему делать коннект если до этого tcp обломался .
 
Потому что большинство андроид кодеров не умеют ничего, кроме как использовать готовые библиотеки/сорцы.
Имеешь в виду что кто-то сделал через веб и все сразу стали делать так же ?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
обломается , но можно же сделать как вариант таймер , и по нему делать коннект если до этого tcp обломался .
накладные расходы на tcp переподключение как для клиента так и для сервера много выше чем отправка UDP datagram
 
Пожалуйста, обратите внимание, что пользователь заблокирован
ну почему же) http это тоже своего рода tcp)
 
Я просто всё не могу уловить смысл , самый старый и банальный tcp server-client годами работал прекрасно . Тот факт что от большого количества клиентов нагрузка на сервер большая ... ну мне лично кажется что клиентов у ратников обычно больше , и ничего , как-то справлялись .
Нагрузка на клиент тоже не должна быть такой что телефон начнёт лагать , садиться за пол часа .
Ну видимо это слишком высокое для меня -_-
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Вообще не пойму о чем тема. Что значит банальный tcp server-client ? Чем это лучше, чем веб админка?

Я не знаю за андройд малварь, но в винде , допустим, веб админки были популярны из-за удобства и меньшего палева. Т.е. бот куда-то там стучит по вебу, считывает ответы. Если будет стучать на условный порт 13337 хз куда, то это более подозрительно, чем стандартные веб запросы на 80/443. И разрабатывать проще с точки зрения юзера, т.к. удобная веб панель, вывел ответ каким-то echo ''' и все.
 
81D4E3D3-68D6-42BC-BD62-8D7033FA01CA.jpeg


Прикладная функция построена на транспортной. Можешь конечно свою прикладную функцию реализовать, только зачем. Должна быть весомая причина, иначе это нубство, незнание протоколов прикладных. Любите вы изобретать велосипеды=)
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
почему многие используют web запросы
Так это тот же TCP.
Нет проблемы коннектиться к серверу через голые сокеты, брать команду и отключаться.
Просто web скорее из-за админ панели.
 
Последнее время осваиваю xamarin как средство мобильной разработки (Мой основной яп c# , поэтому и xamarin а не котлин /java)
Для интереса решил написать небольшого зверька который позволит мониторить смс , удалять / отправлять нужные при необходимости .
Сорцы разных андроид ботов не смотрел , дабы самому разбираться , без чужого влияния .
И вот стало интересно , почему многие используют web запросы для управления своими зверьками .
Я допускаю что это из-за потребления батарейки телефона (постоянный tcp коннект и всё такое) но неужели это так критично с современными телефонами ? Скажу сразу , реальных тестов (в боевых условиях) не делал и если это и правда критично то готов верить на слова .
Для своих тестов / практики взял андроид ценной в 65$ и особой нагрузки не заметил .
Tcp client-server как по мне куда проще в реализации . Поставил сервер на дедик и всё , в бой .
Простой интерес , тапками не кидайте а приводите примеры
Потому что в Android, начиная с 6й версии существует Doze Mode. И с каждой версией он становится все более агрессивным. Он просто не позволит тебе держать фоновое соединение по TCP продолжительное время. Для решения этой проблемы есть Foreground Service, но в этом случае у пользователя будет постоянно висеть нотификация, что там что-то работает. А это не круто. Поэтому самая рабочая тактика это стрелять короткими запросами когда появилась такая возможность.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх