Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 190
#1

SocketServer, Client. Получение ответа от сервера - Программирование Android

14.04.2016, 18:35. Просмотров 229. Ответов 4
Метки нет (Все метки)

Уже устал, не пойму где ошибка...

Клиент:
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
    client = null;     
                            dataOutputStream = null;
                            dataInputStream = null;
                            
                        Runnable runnable = new Runnable() {
                            public void run() {
                                try {
                                        client = new Socket(ip, Integer.parseInt(port)); 
                                        client.setSoTimeout(20); 
                                        dataOutputStream = new DataOutputStream(client.getOutputStream()); 
                                        dataInputStream = new DataInputStream(client.getInputStream()); 
                                    dataOutputStream.writeUTF("["get-server-name", ""+pass+""]");
                                    dataOutputStream.flush();
                                    
                                    ddServerAnswer = dataInputStream.readUTF();
                                    edPassAdd.post(new Runnable() {
                                            @Override
                                            public void run()
                                            {
                                                edPassAdd.setText(ddServerAnswer);
                                            }
                                        });
                                    
                                } catch (UnknownHostException e) {
                                    //e.printStackTrace();
                                    Toast.makeText(getApplicationContext(), "Ошибка: Неизвестный адрес", Toast.LENGTH_LONG).show();
                                } catch (IOException e) {
                                    e.printStackTrace();
                                    Toast.makeText(getApplicationContext(), "Ошибка: IOException", Toast.LENGTH_LONG).show();
                                }
Сервер:
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
ServerSocket ss = new ServerSocket(1111); // создаем сокет сервера и привязываем его к вышеуказанному порту
                    
                    while(true) {
                        Socket socket = ss.accept(); // заставляем сервер ждать подключений и выводим сообщение когда кто-то связался с сервером
                        // Берем входной и выходной потоки сокета, теперь можем получать и отсылать данные клиенту. 
                        InputStream sin = socket.getInputStream();
                        final OutputStream sout = socket.getOutputStream();
                        // Конвертируем потоки в другой тип, чтоб легче обрабатывать текстовые сообщения.
                        DataInputStream in = new DataInputStream(sin);
                        final DataOutputStream out = new DataOutputStream(sout);
                        
                        line = in.readUTF(); // [ожидаем пока клиент пришлет строку текста.
                        out.writeUTF(line);
                        btn1.post(new Runnable() {
                                public void run() {
                                    btn1.setText(line);
                                }
                            });
                            if (!line.equals(null)) {
                                line = null;
                                socket.close();
                                sin.close();
                                in.close();
                                out.close();
                                socket.shutdownOutput();
                            }
                    }
                } 
                catch(Exception x) { x.printStackTrace(); }
Помогите пожалуйста!!! Как вывести полученные от сервера данные? Как корректно с ними работать?

Добавлено через 1 час 4 минуты
Что, никто не знает? ;(
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2016, 18:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос SocketServer, Client. Получение ответа от сервера (Программирование Android):

HttpUrlConnetcion получение ответа от сервера - Программирование Android
Всем привет, как то уже задавал вопрос про HttpUrlConnection, вроде разобрался с ним, но появилась еще одна проблема связанная с получением...

Дождаться ответа от сервера - Программирование Android
public class Network { public static boolean isConnected = false; public static void isConnected(final Context context,...

Получение ответа в формате json - Программирование Android
пытаюсь получить ответ в формате json от моего php скрипта и разобрать его. В общих чертах: new...

Парсинг JSON ответа от сервера - Программирование Android
Здравствуйте друзья, давно не заходил к вам в гости. Столкнулся с таким интересным (интересно построенным) ответом от сервера в формате...

Post запрос к серверу и получение ответа - Программирование Android
Здравствуйте, мне нужно, чтобы программа отправляла запрос серверу, получала данные в виде строки и присваивала его TextView. Несколько...

Отправка запроса на сервер - получение ответа в xml и обработка - Программирование Android
Всем добрый день. Искал по всем форумам и всем блогам, но нужного ответа не нашел и не добился результата. Отправляется Get запрос...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Pablito
2494 / 1939 / 605
Регистрация: 12.05.2014
Сообщений: 6,798
Завершенные тесты: 1
14.04.2016, 18:45 #2
кинул два куска кода и строчка текста
что ты хочешь? какая ошибка, где, что?
0
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 190
14.04.2016, 19:12  [ТС] #3
Ну, сделал, что-то работает. Но спустя 5-7 отправок, клиент вылетает. С чем может быть связано?

Добавлено через 7 минут
Проблемма исправлена, всем спасибо.
0
Pablito
2494 / 1939 / 605
Регистрация: 12.05.2014
Сообщений: 6,798
Завершенные тесты: 1
14.04.2016, 19:19 #4
ну наверное там ошибка какая-то в логах
0
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 190
14.04.2016, 19:53  [ТС] #5
Паблито, я бы логами пользовался, но... У меня с ними проблема, не всегда выводятся.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2016, 19:53
Привет! Вот еще темы с ответами:

Получение текста с сервера - Программирование Android
Здраствуйте, как получить текст с сервера? Например, файл расположен по пути test.com/test.txt. Мне требуется получить с него текст и...

Получение JSON с сервера - Программирование Android
Есть класс который принимает строку URL и возвращает JSONObject public class Json { public static JSONObject getJson(String...

Получение JSON с https сервера - Программирование Android
Стоит задача: получить с сервера данные в JSON формате. На сервере используется Basic Authentication. Логин пароль нужно передавать у...

Получение сообщений от сервера без запроса - Программирование Android
Среди существующих тем не нашёл ответа на свой вопрос, поэтому решил задать сам. Попытаюсь объяснить, что я имел в виду. Пишу...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.04.2016, 19:53
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru