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

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

Войти
Регистрация
Восстановить пароль
 
 
Анатолий228
2 / 2 / 1
Регистрация: 03.03.2015
Сообщений: 51
#1

Клиент Android не коннектится к Серверу пк - Программирование Android

05.06.2016, 23:54. Просмотров 678. Ответов 24
Метки нет (Все метки)

Клиент Android не коннектится к Серверу ПК.

Сервер:
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
46
47
48
49
50
51
import java.io.*;
import java.net.*;
 
public class Server {
 
    public static void main(String[] args) throws IOException {
        System.out.println("Welcome to Server side");
        BufferedReader in = null;
        PrintWriter    out= null;
 
        ServerSocket servers = null;
        Socket       fromclient = null;
        Socket       fromclient2 = null;
 
        // create server socket
        try {
            servers = new ServerSocket(4444);
        } catch (IOException e) {
            System.out.println("Couldn't listen to port 4444");
            System.exit(-1);
        }
 
        try {
            System.out.print("Waiting for a 1 client...");
            fromclient = servers.accept();
            System.out.println("Client connected");
            System.out.print("Waiting for a 2 client...");
            fromclient2 = servers.accept();
            System.out.println("Client connected");
        } catch (IOException e) {
            System.out.println("Can't accept");
            System.exit(-1);
        }
 
        in  = new BufferedReader(new
                InputStreamReader(fromclient.getInputStream()));
        out = new PrintWriter(fromclient2.getOutputStream(),true);
        String         input,output;
 
        System.out.println("Wait for messages");
        while ((input = in.readLine()) != null) {
            if (input.equalsIgnoreCase("exit")) break;
            out.println("S ::: "+input);
            System.out.println(input);
        }
        out.close();
        in.close();
        fromclient.close();
        servers.close();
    }
}
Клиент:
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
package vershiloandrey.clientandroid;
 
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
 
import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.common.api.GoogleApiClient;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
 
public class MainActivity extends AppCompatActivity implements Runnable{
 
    /**
     * ATTENTION: This was auto-generated to implement the App Indexing API.
     * See [url]https://g.co/AppIndexing/AndroidStudio[/url] for more information.
     */
    private GoogleApiClient client;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        setContentView(R.layout.activity_main);
 
        final Button[] buttonArray = {
                (Button) findViewById(R.id.button1),
                (Button) findViewById(R.id.button2),
                (Button) findViewById(R.id.button3),
                (Button) findViewById(R.id.button4),
                (Button) findViewById(R.id.button5),
                (Button) findViewById(R.id.button6),
                (Button) findViewById(R.id.button7)
        };
 
        int i = 0;
        final int ifinal = i;
        buttonArray[i].setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                buttonArray[ifinal].setText("o");
                try {
                    connecting();
                }catch(IOException e){
 
                }
            }
        });
 
        // ATTENTION: This was auto-generated to implement the App Indexing API.
        // See [url]https://g.co/AppIndexing/AndroidStudio[/url] for more information.
        client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
    }
 
    public void connecting() throws IOException {
 
        //System.out.println("Welcome to Client side");
        run();
    }
 
    @Override
    public void onStart() {
        super.onStart();
 
        // ATTENTION: This was auto-generated to implement the App Indexing API.
        // See [url]https://g.co/AppIndexing/AndroidStudio[/url] for more information.
        client.connect();
        Action viewAction = Action.newAction(
                Action.TYPE_VIEW, // TODO: choose an action type.
                "Main Page", // TODO: Define a title for the content shown.
                // TODO: If you have web page content that matches this app activity's content,
                // make sure this auto-generated web page URL is correct.
                // Otherwise, set the URL to null.
                Uri.parse("http://host/path"),
                // TODO: Make sure this auto-generated app URL is correct.
                Uri.parse("android-app://vershiloandrey.clientandroid/http/host/path")
        );
        AppIndex.AppIndexApi.start(client, viewAction);
    }
 
    @Override
    public void onStop() {
        super.onStop();
 
        // ATTENTION: This was auto-generated to implement the App Indexing API.
        // See [url]https://g.co/AppIndexing/AndroidStudio[/url] for more information.
        Action viewAction = Action.newAction(
                Action.TYPE_VIEW, // TODO: choose an action type.
                "Main Page", // TODO: Define a title for the content shown.
                // TODO: If you have web page content that matches this app activity's content,
                // make sure this auto-generated web page URL is correct.
                // Otherwise, set the URL to null.
                Uri.parse("http://host/path"),
                // TODO: Make sure this auto-generated app URL is correct.
                Uri.parse("android-app://vershiloandrey.clientandroid/http/host/path")
        );
        AppIndex.AppIndexApi.end(client, viewAction);
        client.disconnect();
    }
 
    public void run(){
        try {
            Socket fromserver = null;
            fromserver = new Socket("192.168.0.104", 4444);
            BufferedReader in = new BufferedReader(new InputStreamReader(fromserver.getInputStream()));
            PrintWriter out = new PrintWriter(fromserver.getOutputStream(), true);
            BufferedReader inu;
            inu = new BufferedReader(new InputStreamReader(System.in));
 
            String fuser, fserver;
 
            while ((fuser = inu.readLine()) != null) {
                out.println(fuser);
                fserver = in.readLine();
                System.out.println(fserver);
                if (fuser.equalsIgnoreCase("close")) break;
                if (fuser.equalsIgnoreCase("exit")) break;
            }
 
            out.close();
            in.close();
            inu.close();
            fromserver.close();
        }catch(IOException e){
            System.out.println("rtr");
        }
    }
}
В AndroidManifest вписал только эту строчку
Java
1
<uses-permission  android:name = "android.permission.INTERNET"  />
У меня не получается приконнектится к серверу с клиента. Похоже, дело в адресе... Но после строки
Java
1
  fromserver = new Socket("192.168.0.104", 4444);
fromsetver = null и программа завершается...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2016, 23:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Клиент Android не коннектится к Серверу пк (Программирование Android):

Android Клиент-Сервер подключение к серверу в сети Wi-Fi - Программирование Android
Доброго времени суток, уважаемые форумчане! Ничего не смог найти по данному вопросу или искал не так или не там, направьте в нужном...

Первое android приложение с доступом к серверу - Программирование Android
Есть сервер на php на котором написано: Привет Мир! Как создать приложение android чтобы он обратился к серверу и вывел это?

Android разработка клиент-сервера - Программирование Android
Всем привет! Встал вопрос создания клиент-сервера, но к сожалению об обращении клиента к серверу ничего не знаю. Неплохо знаю язык Java и...

Клиент-сервер для android - Программирование Android
Здравствуйте. Мне нужно сделать следующее:сервер с базой данных и клиенты на пк и android с помощью которых будет выполняться работа с бд....

Клиент-серверное приложение android - Программирование Android
Ребят, такая задача: Необходимо, чтобы пользователь1 мог отправлять сообщение со своего приложения на телефоне/компьютере на другое...

Клиент-сервер Linux-Android - Программирование Android
Передо мной стоит задача - написать простенький клиент сервер. Сервер на Debian, клиент Android 4.2.2. Вопрос собссно какой - подсказать в...

24
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
05.06.2016, 23:57 #2
Анатолий228, а где отдельный поток для работы с сетью?
0
Анатолий228
2 / 2 / 1
Регистрация: 03.03.2015
Сообщений: 51
06.06.2016, 00:36  [ТС] #3
YuraAAA, скинул немного не тот вариант. Вот.

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package vershiloandrey.clientandroid;
 
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
 
import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.common.api.GoogleApiClient;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
 
public class MainActivity extends AppCompatActivity{
 
    /**
     * ATTENTION: This was auto-generated to implement the App Indexing API.
     * See [url]https://g.co/AppIndexing/AndroidStudio[/url] for more information.
     */
    private GoogleApiClient client;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        setContentView(R.layout.activity_main);
 
        final Button[] buttonArray = {
                (Button) findViewById(R.id.button1),
                (Button) findViewById(R.id.button2),
                (Button) findViewById(R.id.button3),
                (Button) findViewById(R.id.button4),
                (Button) findViewById(R.id.button5),
                (Button) findViewById(R.id.button6),
                (Button) findViewById(R.id.button7)
        };
 
        int i = 0;
        final int ifinal = i;
        buttonArray[i].setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                buttonArray[ifinal].setText("o");
 
                    Connected connected = new Connected();
                    Thread thread = new Thread(connected);
                    thread.start();
            }
        });
 
        // ATTENTION: This was auto-generated to implement the App Indexing API.
        // See [url]https://g.co/AppIndexing/AndroidStudio[/url] for more information.
        client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
    }
 
    @Override
    public void onStart() {
        super.onStart();
 
        // ATTENTION: This was auto-generated to implement the App Indexing API.
        // See [url]https://g.co/AppIndexing/AndroidStudio[/url] for more information.
        client.connect();
        Action viewAction = Action.newAction(
                Action.TYPE_VIEW, // TODO: choose an action type.
                "Main Page", // TODO: Define a title for the content shown.
                // TODO: If you have web page content that matches this app activity's content,
                // make sure this auto-generated web page URL is correct.
                // Otherwise, set the URL to null.
                Uri.parse("http://host/path"),
                // TODO: Make sure this auto-generated app URL is correct.
                Uri.parse("android-app://vershiloandrey.clientandroid/http/host/path")
        );
        AppIndex.AppIndexApi.start(client, viewAction);
    }
 
    @Override
    public void onStop() {
        super.onStop();
 
        // ATTENTION: This was auto-generated to implement the App Indexing API.
        // See [url]https://g.co/AppIndexing/AndroidStudio[/url] for more information.
        Action viewAction = Action.newAction(
                Action.TYPE_VIEW, // TODO: choose an action type.
                "Main Page", // TODO: Define a title for the content shown.
                // TODO: If you have web page content that matches this app activity's content,
                // make sure this auto-generated web page URL is correct.
                // Otherwise, set the URL to null.
                Uri.parse("http://host/path"),
                // TODO: Make sure this auto-generated app URL is correct.
                Uri.parse("android-app://vershiloandrey.clientandroid/http/host/path")
        );
        AppIndex.AppIndexApi.end(client, viewAction);
        client.disconnect();
    }
}
 
class Connected implements Runnable{
    public void run(){
        try {
            Socket fromserver = null;
            fromserver = new Socket("10.0.2.2", 4444);
            BufferedReader in = new BufferedReader(new InputStreamReader(fromserver.getInputStream()));
            PrintWriter out = new PrintWriter(fromserver.getOutputStream(), true);
            BufferedReader inu;
            inu = new BufferedReader(new InputStreamReader(System.in));
 
            String fuser, fserver;
 
            while ((fuser = inu.readLine()) != null) {
                out.println(fuser);
                fserver = in.readLine();
                System.out.println(fserver);
                if (fuser.equalsIgnoreCase("close")) break;
                if (fuser.equalsIgnoreCase("exit")) break;
            }
 
            out.close();
            in.close();
            inu.close();
            fromserver.close();
        }catch(IOException e){
            System.out.println("rtr");
        }
    }
}
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
06.06.2016, 09:40 #4
чем это адрес 10.0.2.2 - комп, эмулятор?
проверить телнетом на этот адрес и порт и посмотреть что будет
0
Анатолий228
2 / 2 / 1
Регистрация: 03.03.2015
Сообщений: 51
06.06.2016, 15:41  [ТС] #5
Паблито, не понял вас...
Я не знаю, какой ip вбивать, откуда его брать.
0
Анатолий228
2 / 2 / 1
Регистрация: 03.03.2015
Сообщений: 51
07.06.2016, 16:21  [ТС] #6
up.
0
_Night_Scream_
76 / 75 / 8
Регистрация: 08.08.2013
Сообщений: 612
07.06.2016, 19:29 #7
Анатолий228, win+r -> cmd -> enter -> ipconfig -> enter
1
Анатолий228
2 / 2 / 1
Регистрация: 03.03.2015
Сообщений: 51
07.06.2016, 21:49  [ТС] #8
_Night_Scream_, да, и оттуда я брал ip, но подключаться все равно не хочет.
пикча

Проверил, клиент на этом же компьютере успешно подключается...
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
08.06.2016, 09:43 #9
выключить firewall и проверить еще раз
0
Анатолий228
2 / 2 / 1
Регистрация: 03.03.2015
Сообщений: 51
08.06.2016, 14:38  [ТС] #10
Паблито, не помогло...
пробовал всякие ip... 10.0.0.2, 127.0.0.1, 192.168.0.104...
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
08.06.2016, 14:51 #11
какой ip адрес у компьютера, на котором запускается сервер чата?
0
Анатолий228
2 / 2 / 1
Регистрация: 03.03.2015
Сообщений: 51
08.06.2016, 15:07  [ТС] #12
Паблито, 93.171.161.217
посмотрел на 2ip.ru, возможно, нужно было как-то иначе
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
08.06.2016, 15:09 #13
если это все запускается в локальной сети то надо смотреть внутренний адрес
как его найти написали еще в сообщении #7
1
Анатолий228
2 / 2 / 1
Регистрация: 03.03.2015
Сообщений: 51
08.06.2016, 15:13  [ТС] #14
Паблито, да, я брал IPv4-адрес локальной сети... Сервер все равно не видел
Коннект к серверу с этого же компа виден, с эмулятора/телефона не виден(
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
08.06.2016, 15:16 #15
Цитата Сообщение от Паблито Посмотреть сообщение
какой ip адрес у компьютера, на котором запускается сервер чата?
дубль 2
0
08.06.2016, 15:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2016, 15:16
Привет! Вот еще темы с ответами:

Клиент-серверное приложение android - Программирование Android
Каким образом можно создать приложение для передачи данных через интернет? Одно устройство выступает в роли сервера, а второе - клиент.

Реализация Клиент(Телефон) - Сервер(ПК) на Android - Программирование Android
Здравствуйте. Интересует информация по теме: клиент-сервер на Андройд. Для начала, хотелось бы &quot;подружить телефон и ПК&quot;, тем самым...

Перенос кода клиент/сервера на Android - Программирование Android
Здравствуйте =) Начал изучать андроид и возникла такая проблема, а именно перенос Java кода в код приложения У меня есть работающий код...

Клиент на Android не получает данные с сервера - Программирование Android
Сервер на компе, написан на .Net, клиент на Android, ставится на устройство. Находясь в одной сети клиент подключается к серверу на .Net,...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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