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

Socket Server, Client - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Цвет файлов в VCS - поменять синий цвет имен файлов http://www.cyberforum.ru/android-dev/thread1700403.html
Всем привет, вот каким образом можно поменять цвет имени файлов в навигаторе проекта для файлов которые добавлены в VCS и были изменены. Там стоит синий цвет по дефолту - который просто нечитабелен...
Программирование Android Не отображается SurfaceView на VS emulator for Android Пытаюсь отладить код на VS emulator for Android, но нет отображения SurfaceView. На реальном устройстве Lenovo K900 все работает. Что может быть? http://www.cyberforum.ru/android-dev/thread1700314.html
Парсер JSON Программирование Android
C помощью Jsoup парсю JSON страницу и кодировка не работает пишет тупо вопросики. Как исправить? Второй вопрос, как мне вытаскивать нужную инфу. Вот пример строчки Json: reg_date = 29-04-2014& Как мне вытащить только дату и отсеить мусор?
Программирование Android Управление машинкой по Wi-Fi
Добрый день уважаемые форумчане. Делаю дипломную работу и мне нужно написать программу для машинки, что бы она управлялась по Wi-Fi. (Вот как на видео : https://youtu.be/nz7vJ0woE0Y )Сама машинка уже готова, но программу я должен написать самому или хотя бы иметь исходный код другой программы. Может кто-нибудь подскажет мне с помощью которой программы я могу это всё сделать? На каком языке...
Программирование Android Ошибка "Method call expected" при шифровании RSA http://www.cyberforum.ru/android-dev/thread1699999.html
private final static BigInteger one = new BigInteger("1"); private final static SecureRandom random = new SecureRandom(); private BigInteger privateKey; private BigInteger publicKey; private BigInteger modulus; public void init(int N) { BigInteger p = BigInteger.probablePrime(N/2, random); BigInteger q = BigInteger.probablePrime(N/2, random);
Программирование Android Как программно изменить Здравствуйте! Не так давно учусь программировать под Андроид и столкнулся с такой проблемой: Я хочу программно создать n кнопок и расположить их так, что бы они все помещались на экране в строчку (с помощью XML делать так умею, просто ставил width = 0, weight = 1 у всех кнопок). Но с динамическими кнопками такое не получается. Во-первых button.setWidth(0); (или даже button.setWidth(1);) не... подробнее

Показать сообщение отдельно
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 180
02.04.2016, 13:54  [ТС]     Socket Server, Client
Паблито,
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
btn1.post (new Runnable() {
            public void run() {
                try {
                    ServerSocket ss = new ServerSocket(1111); // создаем сокет сервера и привязываем его к вышеуказанному порту
                    Socket socket = ss.accept(); // заставляем сервер ждать подключений и выводим сообщение когда кто-то связался с сервером
                    // Берем входной и выходной потоки сокета, теперь можем получать и отсылать данные клиенту. 
                    InputStream sin = socket.getInputStream();
                    OutputStream sout = socket.getOutputStream();
                    // Конвертируем потоки в другой тип, чтоб легче обрабатывать текстовые сообщения.
                    DataInputStream in = new DataInputStream(sin);
                    DataOutputStream out = new DataOutputStream(sout);
                    String line = null;
                    while(true) {
                        line = in.readUTF(); // [ожидаем пока клиент пришлет строку текста.
                        btn1.setText(line);
                    }
                } catch(Exception x) { btn1.setText(""+x); }
Ошибка: Android.OS.NetworkOnMainThreadException

Добавлено через 3 минуты
Добавил @Override - тоже самое.

Добавлено через 2 минуты
Паблито,
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
Runnable runnable = new Runnable() {
            public void run() {
                try {
                    ServerSocket ss = new ServerSocket(1111); // создаем сокет сервера и привязываем его к вышеуказанному порту
                    Socket socket = ss.accept(); // заставляем сервер ждать подключений и выводим сообщение когда кто-то связался с сервером
                    // Берем входной и выходной потоки сокета, теперь можем получать и отсылать данные клиенту. 
                    InputStream sin = socket.getInputStream();
                    OutputStream sout = socket.getOutputStream();
                    // Конвертируем потоки в другой тип, чтоб легче обрабатывать текстовые сообщения.
                    DataInputStream in = new DataInputStream(sin);
                    DataOutputStream out = new DataOutputStream(sout);
                    
                    while(true) {
                        line = in.readUTF(); // [ожидаем пока клиент пришлет строку текста.
                        btn1.post(new Runnable() {
                            public void run() {
                        btn1.setText(line);
                        }
                        });
                    }
                } catch(Exception x) { btn1.setText(""+x); }
            }
        };
        Thread thread = new Thread(runnable);
        thread.start();
Ошибки не выдает, сейчас протестирую

Добавлено через 37 минут
Паблито, теперь, все работает. Но после 1 успешного приема данных, дальше прием не идет. Как решить эту проблему?

Добавлено через 22 часа 7 минут
Паблито, хорошо, у меня все получилось кроме одного. Как отключить клиента? При закрытии приложения сервер вылетает.
client.close();
Тоже вылетает.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru