babygluk писал(а):Наверное я не правильно поставил вопрос)))
Попробую еще раз.
Хочу написать чат через интернет. Что бы он работал круглосуточно. Его же где то нужно запустить( Серверную часть чата )
А клиент часть запускаю на мобильном. Соединяюсь там сокетом к сокет серверу чтоль))
Виртуальная машина вам не особо поможет т.к. даже если у вас статический IP и вы постоянно будете держать ее включенной сомневаюсь, что можности железа хватит обрабатывать запросы. В качестве сервера вы можете использовать что угодно если серверный код на php, наверно любой хостинг подойдет, python/ruby/node.js/java/net, что там еще вы хотите использовать? вот там и нужно спрашивать, я использую для серверной части app engine сылку на который давал выше и
heroku, реже
dotCloud. Но повторю это не имеет отношение к программированию под Android и ответ вам нужно искать в других местах.
То, что касается клиентской части чата, это очень большая тема и зависит от того, какой функционал вы собираетесь реализовывать, если это просто отправка/получение сообщений - REST более чем достаточно и тут не раз описан процесс в разной форме, если это поддержка передачи файлов, их открытие, шифрование, log и т.д. это много разных вопросов.
Сокеты -это другой вопрос, его нужно не только открыть но и следить за состоянием и делать это разумно к примеру в конкретной "беседе" но никак не в обычной работе приложения, поскольку это убьет батарею да и ресурсы на серверы нужны будут другие. Но в любом слуае повторю, серверный код, это вы дверью ошиблись, тут под Android программируют...

В любом случае логика в Android строится исходя из ожиданий сервера, поскольку он клиент, не наоборот. Т.е. сначала нужно понять что и как будет делать сервер. Подгонять же архитектуру сервера под клиент в корне не верно.