С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 102

Подружить клиентское приложение (на Android) с сервером (на Windows)

14.11.2017, 21:27. Показов 1457. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу прогу, суть заключается в том, что клиентское приложение отсылает серверу текст, тот обрабатывает и отсылает клиенту данные, но суть не в этом, не могу подружить клиентское приложение(на андроид) с сервером(на винде), подскажите в чем косяк.
Клиент:
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
package aclient.aclient;
 
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import java.io.*;
import java.net.*;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
 
public class MainActivityAClient extends AppCompatActivity
{
    private EditText t1;
    private Button butServer;
    private Button butText;
 
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_aclient);
        butText = (Button)findViewById(R.id.btText);
        butText.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                EditText t1 =(EditText)findViewById(R.id.tText);
                Client(t1);
 
 
            }
        });
    }
 
    public static void Client (EditText k)
    {
 
        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);
 
            // Создаем поток для чтения с клавиатуры.
            BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in));
            String line;// = null;
            //line = k;
            System.out.println("Type in something and press enter. Will send it to the server and tell ya what it thinks.");
            System.out.println();
 
            while (true) {
                line = keyboard.readLine(); // ждем пока пользователь введет что-то и нажмет кнопку Enter.
                System.out.println("Sending this line to the server...");
                out.writeUTF(line); // отсылаем введенную строку текста серверу.
                out.flush(); // заставляем поток закончить передачу данных.
                line = in.readUTF(); // ждем пока сервер отошлет строку текста.
                System.out.println("The server was very polite. It sent me this : " + line);
                System.out.println("Looks like the server is pleased with us. Go ahead and enter more lines.");
                System.out.println();
            }
        } 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
package server;
 
import java.net.*;
import java.io.*;
 
public class Server {
 
 
    public static void main(String[] args) 
    {
    int port = 6666; // случайный порт (может быть любое число от 1025 до 65535)
       try {
         ServerSocket ss = new ServerSocket(port); // создаем сокет сервера и привязываем его к вышеуказанному порту
         System.out.println("Ожидание клиента...");
 
         Socket socket = ss.accept(); // заставляем сервер ждать подключений и выводим сообщение когда кто-то связался с сервером
         System.out.println("Сервер обнаружил клиента!!!");
         System.out.println();
 
 // Берем входной и выходной потоки сокета, теперь можем получать и отсылать данные клиенту. 
         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(); // ожидаем пока клиент пришлет строку текста.
           System.out.println("Глупый клиент только что прислал мне эту строку : " + line);
           System.out.println("Я отправляю её обратно...");
           out.writeUTF(line); // отсылаем клиенту обратно ту самую строку текста.
           out.flush(); // заставляем поток закончить передачу данных.
           System.out.println("Ждем следующей строки...");
           System.out.println();
         }
      } catch(Exception x) { x.printStackTrace(); }
   }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.11.2017, 21:27
Ответы с готовыми решениями:

Клиентское приложение для работы с сервером SFTP
:cry: Люди добрые, есть у кого простой пример (исходник) на Java клиентского приложения для работы с сервером SFTP??? ОЧЕНЬ! НУЖНО ЗАРАНЕЕ...

C++ приложение на Android ищу книжки про соединение приложения с сервером
Самое не находимое это работа мобильного приложения через сеть, не могу сдвинуться ни на йоту из за своей безграмотности в Пониманий кода,...

Как связать своё клиентское ПО с готовым беспл. сервером?
Здравствуйте. Нужен бесплатный хороший SQL-сервер, который бы обрабатывал SQL-запросы моего клиентского ПО, работающего с Access через ADO....

10
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,764
14.11.2017, 21:50
Цитата Сообщение от Sergey280995 Посмотреть сообщение
Java
1
2
        String address = "127.0.0.1"; // это IP-адрес компьютера, где исполняется наша серверная программа.
        // Здесь указан адрес того самого компьютера где будет исполняться и клиент.
Даже не знаю, что тебе сказать…
1
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
15.11.2017, 10:16
Цитата Сообщение от korvin_ Посмотреть сообщение
Даже не знаю, что тебе сказать…
действительно ->
0
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 102
15.11.2017, 10:41  [ТС]
поясните нормально
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
15.11.2017, 10:53
Я бы тебе помог, но я сетевые приложение не особо писал. Если и писал, то через гугл. Поэтому, прости

Добавлено через 8 минут
Не понял, а как у тебя на одном компе сразу и Андроид и Винда?
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
15.11.2017, 12:45
Sergey280995, читайте что такое localhost и думайте куда стучится Ваш клиент.
0
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 102
15.11.2017, 13:43  [ТС]
я запускаю оба приложения на пк, так что я как бы должен по лакалке стучаться или я чет не врубаюсь
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
15.11.2017, 13:51
Цитата Сообщение от Sergey280995 Посмотреть сообщение
я запускаю оба приложения на пк
обманываете. Клиент вы запускаете на андроиде. Скорее всего на эмуляторе. Там своя сеть.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
15.11.2017, 14:02
ну раскрой мысль то свою, что значит не могу подружить? запускай сервер, смотри нетстатом, какой порт слушает, пробуй телнетом цепляться, файрволы проверяй, логи читай, чо как маленький

Добавлено через 27 секунд
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
Клиент вы запускаете на андроиде. Скорее всего на эмуляторе. Там своя сеть.
вроде та же

Добавлено через 1 минуту
Цитата Сообщение от xoraxax Посмотреть сообщение
вроде та же
а нет, судя по всему таки роутится, тогда надо смотреть, какие адреса у хоста и у эмулятора
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
15.11.2017, 19:22
у тебя получается на андроиде типа свой комп и у него хост 127.0.0.1 и он не имеет никакого отношения к 127.0.0.1 с виндой.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
15.11.2017, 23:27
xoraxax, я у себя когда на эмуляторе запускаю, даю внешний айпи просто, но можно как-то раутинг настроить
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.11.2017, 23:27
Помогаю со студенческими работами здесь

Выбор решения для проекта! Приложение для Windows + приложение для Android или Web приложение?
Здравствуйте! Один мой знакомый, владелец мебельной фирмы, обратился ко мне с серьезным предложением. Ему необходимо разработать...

Клиентское приложение
Назовите преимущества клиентского приложения. Никак не могу его найти в интернете

клиентское приложение
#include <iostream> #include <cstdio> #include <cstdlib> #include <boost/asio.hpp> using boost::asio::ip::tcp; using namespace...

C# Мышка и клиентское приложение!
Всем доброго времени суток! Решил я провести эксперимент в среде C#, по управлению мышкой и сразу столкнулся с проблемой: Каким образом...

клиентское приложение афиши
АААА!!!!!!! Помогите кто может!!!!!!!!!!! Нужно создать приложение афиши (хотя бы для кинотеатров или театров), в котором доступ к данным...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Изучаю 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. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru