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

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

14.01.2017, 15:52. Показов 2373. Ответов 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
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru