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

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

Войти
Регистрация
Восстановить пароль
 
JanCover
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 48
#1

Не работает связь сервер/клиент - Программирование Android

08.10.2016, 13:27. Просмотров 227. Ответов 3
Метки нет (Все метки)

Привет всем народ =)
Сделал прогу на java сервер и клиент, они работают, всё нормально запускается через командную строку клиент конектится к серверу и сервер передаёт ему данные

Сервер
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
import java.net.*;
import java.io.*;
public class Server {
    public static void main(String[] ar)    {
        int port = 6666; // случайный порт (может быть любое число от 1025 до 65535)
    try {
        ServerSocket ss = new ServerSocket(port); // создаем сокет сервера и привязываем его к вышеуказанному порту
        System.out.println("Waiting for a client...");
 
        Socket socket = ss.accept(); // заставляем сервер ждать подключений и выводим сообщение когда кто-то связался с сервером
        System.out.println("Got a client :) ... Finally, someone saw me through all the cover!");
        System.out.println();
 
        // Берем входной и выходной потоки сокета, теперь можем получать и отсылать данные клиенту.
        InputStream sin = socket.getInputStream();
        OutputStream sout = socket.getOutputStream();
        // Конвертируем потоки в другой тип, чтоб легче обрабатывать текстовые сообщения.
        DataInputStream in = new DataInputStream(sin);
        DataOutputStream out = new DataOutputStream(sout);
 
        BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in));
        String dor = null;
 
 
        while (true) {
            dor = keyboard.readLine(); // ждем пока пользователь введет что-то и нажмет кнопку Enter.
            out.writeUTF(dor); // отсылаем введенную строку текста клиенту.
            out.flush(); // заставляем поток закончить передачу данных.
        }
    } catch(Exception x) { x.printStackTrace(); }
}
}
Клиент
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
38
39
40
41
42
43
44
45
import java.net.*;
import java.io.*;
enum Status {dor_close, dor_open}
 
public class Client {
    public static void main(String[] ar) {
        int serverPort = 6666; // здесь обязательно нужно указать порт к которому привязывается сервер.
        String address = "127.0.0.1"; // это IP-адрес компьютера, где исполняется наша серверная программа.
        // Здесь указан адрес того самого компьютера где будет исполняться и клиент.
 
        try {
            InetAddress ipAddress = InetAddress.getByName(address); // создаем объект который отображает вышеописанный IP-адрес.
            System.out.println("Any of you heard of a socket with IP address " + address + " and port " + serverPort + "?");
            Socket socket = new Socket(ipAddress, serverPort); // создаем сокет используя IP-адрес и порт сервера.
            System.out.println("Yes! I just got hold of the program.");
 
            // Берем входной и выходной потоки сокета, теперь можем получать и отсылать данные клиентом.
            InputStream sin = socket.getInputStream();
            OutputStream sout = socket.getOutputStream();
 
            // Конвертируем потоки в другой тип, чтоб легче обрабатывать текстовые сообщения.
            DataInputStream in = new DataInputStream(sin);
            DataOutputStream out = new DataOutputStream(sout);
 
            Status status = Status.dor_close;
            System.out.println(status);
 
            while (true) {
                String dor = in.readUTF(); // ожидаем пока сервер пришлет строку текста.
                out.flush(); // заставляем поток закончить передачу данных.
                if (Status.dor_close == status && "1".equals(dor)) {
                    status = Status.dor_open;
                    System.out.println(status);
                    continue;
                } else if (Status.dor_open == status && "0".equals(dor)) {
                    status = Status.dor_close;
                    System.out.println(status);
                    continue;
                }
            }
        } catch (Exception x) {
            x.printStackTrace();
        }
    }
}
Когда переношу в приложение код клиента, и пытаюсь запустить сервер через командную строку, а клиента через приложение, то не происходит подключение =/
может кто подскажет как правильно там нужно всё подключать ?
Клиент запускаю в эмуляторе на том же компе, что и сервер.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2016, 13:27     Не работает связь сервер/клиент
Посмотрите здесь:

Не работает клиент/ сервер на физической машине - Программирование Android
Дорогие форумчане, можете помочь мне реализовать перенос программы на физическую машину. После переноса программа не работает хотя на...

Сервер и клиент - Программирование Android
Хочу написать простенький сервер, который передает с клиента, то есть с телефона, сообщение по нажатию на кнопку. Передает на сервер,...

Клиент-сервер - Программирование Android
Здравствуйте. Возникло желание создать клиент (андоид) / сервер на ПК (java). Принцип работы клиент сервера: 1. На сервере добавляю...

клиент-сервер - Программирование Android
Всем привет, помогите,пжлста, разобраться. Пытаюсь сделать простое клиент-сервер соединение (удп). Сервер запускается, но когда запускаю...

клиент-сервер - Программирование Android
Dear All. Я потихоньку изучаю программирование под андроид и вот пришло время думать над такой задачей - а как вообще организовывается...

Клиент и сервер - Программирование Android
У меня есть TCP клиент андроид и сервер Qt. На сервер все данные нормально приходят но на клиент ответ от сервера(текстовое сообщение) не...

Клиент-Сервер - Программирование Android
Во вложении фото моей активности. На ней отображается мое местоположение в виде маркера. Как мне отобразить местоположение другого...

Клиент-сервер (сокеты) - Программирование Android
Пытаюсь написать два приложения: первое запускается на ПК (написано на JAVA и оно же сервер), второе на Android (оно же клиент). Клиент...

Клиент-сервер (сокеты) - Программирование Android
Хочу тестировать клиент-серверное приложение на базе слкетов, но не знаю какой IP нужно указывать в клиентском приложении, которое потом...

Клиент-сервер. Базы - Программирование Android
Здравствуйте. Поясните(нкаидайте ссылкон на инфу), пожалуйста, как организовать клиент-сервер на Android? Как передавать данные в базу и...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
08.10.2016, 14:14     Не работает связь сервер/клиент #2
лог ошибки где?

и в манифесте есть разрешение на интернет?
XML
1
    <uses-permission android:name="android.permission.INTERNET" />
JanCover
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 48
09.10.2016, 01:23  [ТС]     Не работает связь сервер/клиент #3
Ошибки нету
не показывает никакой ошибки
просто подключение не создаётся
а вот на счёт лога со строчкой на инернет это возможно и есть трабла, завтра попробую =)
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
09.10.2016, 11:16     Не работает связь сервер/клиент #4
и еще, вместо String address = "127.0.0.1";
надо вписать адрес компьютера на котором сервер, он 100% не 127.0.0.1 я гарантирую это
Yandex
Объявления
09.10.2016, 11:16     Не работает связь сервер/клиент
Ответ Создать тему
Опции темы

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