Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
18 / 13 / 5
Регистрация: 08.01.2016
Сообщений: 315

Нужен прокомментированный код простого клиент-серверного приложения

14.01.2017, 15:52. Показов 2414. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ, я буду очень благодарен за помощь. Только начал изучать Java в рамках мобильных приложений и после изучения элементарных вещей зашел в тупик. Не могу найти прокомментированный код клиента, подключающегося к серверу. В смысле, и здесь, и в Инете их куча - но половина не работает (точнее с ошибками написаны), а другая половина слишком сложная для меня (реализованы многопоточность, файлы передаются и т.д.). Помогите, пожалуйста, - мне нужен кусочек кода (прокомментированный специально для чайника - ваще улет будет ), который бы подключался (со смартфона) к серверу 127.0.0.1 к 5000 порту и передал сообщение "Hellow Word" не принимая ничего обратно, а дальше я постараюсь сам разобраться.
Парни, заранее спасибо...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.01.2017, 15:52
Ответы с готовыми решениями:

Написание клиент-серверного приложения
Доброго времени дня! Передо мной встала задача разработки клиент-серверного приложения под андроид. До этого писал только дэсктоп и поэтому...

Архитектура клиент серверного приложения
Добрый день. Возникла идея проекта, но как реализовать его я не представляю. Есть клиентское андроид приложение, в котором присутствует...

Архитектура клиент-серверного приложения с off-line режимом
Доброго дня. Столкнулся со следующим вопросом на тестировании: Создаётся Android-приложение, работающее с данными на сервере. В...

28
30 / 30 / 5
Регистрация: 21.03.2013
Сообщений: 381
17.01.2017, 14:52
Студворк — интернет-сервис помощи студентам
Elkatib, у меня написано
Цитата Сообщение от powowstal Посмотреть сообщение
Thread t = new Thread(sr, "TreadSocket");
зачем было писать
Java
1
Thread t = new Thread((Runnable) sr, "TreadSocket");
sr унаследовано от Thread а ты его конвертируешь в Runnable. Если нужен Runnable то SocketRun должен от него унаследоваться. Почитай еще о Thread и Runnable.
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
17.01.2017, 14:54
судя по картинкам, в манифесте нет разрешения на интернет
и то, что я писал про 127.0.0.1 - проигнорировано
случай клинический
0
30 / 30 / 5
Регистрация: 21.03.2013
Сообщений: 381
17.01.2017, 15:08
Elkatib, и что бы понят что не так нужно показывать лог ошибки он выводится красным цветом во вкладке Android monitors

Добавлено через 9 минут
Elkatib, и Паблито - прав, Permission denied говорит о том что нет прав. Если в манифесте права есть, то стоит зайти в настройки приложения и поставить галочку на использование интернета. Начиная с 6 версии андроида нужно вручную запрашивать основные права.
0
111 / 111 / 43
Регистрация: 24.05.2015
Сообщений: 329
17.01.2017, 15:20
Цитата Сообщение от powowstal Посмотреть сообщение
Если в манифесте права есть, то стоит зайти в настройки приложения и поставить галочку на использование интернета. Начиная с 6 версии андроида нужно вручную запрашивать основные права.
Зачем глупости писать?
На интернет достатчно в манифисте прописать разрешение. Так как это считается Normal Permissions.
Вот список:
https://developer.android.com/... sions.html
То же о чем вы пишите - это Dangerous Permissions(в таблице ниже):
https://developer.android.com/... -dangerous
0
18 / 13 / 5
Регистрация: 08.01.2016
Сообщений: 315
17.01.2017, 15:50  [ТС]
зачем было писать
Иначе, по приведенному выше коду компилятор выдавал ошибку и грендл не запускался. Я просто нажал Альт-Энтер и он сам поставил "исправленный" код и только так я смог запустить программу.
судя по картинкам, в манифесте нет разрешения на интернет
и то, что я писал про 127.0.0.1 - проигнорировано
случай клинический
Вот манифест: http://my-files.ru/a4hfhr
А насчет 127.0.0.1..... Блин, я, конечно, валенок в некотором смысле - ну, не до такой же степени. Когда я заупская с телефона проект я ставлю реальный белый IP сервера!
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
17.01.2017, 16:13
Лучший ответ Сообщение было отмечено Elkatib как решение

Решение

только что специально сделал так
- на компе запустил эмулятор и такой код
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
 
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
 
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViewById(R.id.button).setOnClickListener(this);
    }
 
    @Override
    public void onClick(View view) {
        sendString("OLOLO WORLD");
    }
 
    private void sendString(final String str) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Socket socket = new Socket("10.0.10.161", 5000);
                    OutputStream os = socket.getOutputStream();
                    os.write(str.getBytes());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }
}
- на том же компе на голой джаве поднял сокет сервер на 5000 порту
- прописал в манифесте разрешение на INTERNET

по нажатию на кнопку в приложении все работает, строка принимается отлично
тот адрес, который в коде - это серый адрес моего компа в локальной сети
1
18 / 13 / 5
Регистрация: 08.01.2016
Сообщений: 315
17.01.2017, 16:16  [ТС]
Паблито, щас попытаюсь этот код запустить. Подскажите, пожалуйста, если проблема в сервере - куда можно подключиться, чтобы проверить соединение. Если проблема в серваке - то попытаюсь какой-нить другой сервер сделать...
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
17.01.2017, 16:27
Лучший ответ Сообщение было отмечено Elkatib как решение

Решение

код сыроват получился, вот немного подправленный метод sendString()
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    private void sendString(final String str) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Socket socket = new Socket("10.0.10.161", 5000);
                    OutputStreamWriter sw = new OutputStreamWriter(socket.getOutputStream());
                    BufferedWriter bw = new BufferedWriter(sw);
                    bw.write(str);
                    bw.flush();
                    bw.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }
1
18 / 13 / 5
Регистрация: 08.01.2016
Сообщений: 315
17.01.2017, 17:21  [ТС]
Ну, дааааааааааааааааа!!!!!!!!! Работает!!!Паблито, вот этот код работает!!!!!!!!!! Спасибо!!!!fraley, powowstal, Вы просто МАШИНЫ программирования!!!! Спасибо оооогромное!!!!!! Я правда так и не понял в чем была причина, но код Паблито с последним исправлением заработал!!!!!!!!! СПАСИБО!!!!
Щас постараюсь сам сделать получение сообщения)))) Представляю какие меня ждут муки))))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.01.2017, 17:21
Помогаю со студенческими работами здесь

Что использовать для реализации клиент-серверного приложения?
Нужно реализовать клиент-серверное приложение. Принцип работы: Клиент отправляет текстовую информацию на сервер. Сервер обрабатывает и...

Назовите приемущества клиент-серверного Android-приложения, над Web-приложением
Скажите мне вот если вам заказчик скажет, а в чем приемущества андройда, ну например на тем же вебом

Нужны исходники простого простого приложения под Android для примера
можете дать ссылку на приложение под андроид?не Hello Word а какое нибудь другое но тоже простое на подобие этого ?хочу понять как...

Нужен пример клиент-серверного приложения
У меня есть задание создать нормальное "взрослое" клиент-серверное приложение, те не так как в универе лишь бы для видимости, а чтобы всё...

Нужен пример клиент-серверного приложения
Подскажите как реализовать клиент сервер на VB.NE? на VB6 юзал винсок: if winsock1.state<>sckConnected and...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru