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

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

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

Android приложение с использованием сокетов из определенного класса - Android

31.01.2015, 18:26. Просмотров 343. Ответов 0
Метки нет (Все метки)

Здравствуйте, столкнулся с некой проблемой создания клиент-сервер соединения через сокеты в андроид приложении.
Итак - имеется 2 класса:
reg.java - он же является исполнителем определенного окна в приложении, где находятся разные условия.
CONservice.java - Исполнитесь, который нужно вызвать в файле reg.java и в котором идет попытка соединиться с сервером.
CONservice.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
package service;
 
import java.net.InetAddress;
import java.net.Socket;
 
public class CONservice {
     public void go(){
         int serverPort = 5555;
            String address = "localhost";
            try{
                InetAddress ipAddress = InetAddress.getByName(address);
                Socket socket = new Socket(ipAddress, serverPort); 
                
            }catch(Exception e){
                e.printStackTrace();
            }
        }
     public static void main(String[] args) {
            
         CONservice client = new CONservice();
            client.go();
        }
}
В классе reg.java есть определенное условие при нажатии на кнопку, оно работает. Я добавил туда:
Java
1
2
3
                CONservice client = new CONservice();
                client.go();
                InfoText.setText("Код 3");
Сам сервер, который работает и ожидает подключений:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.net.*;
import java.io.*;
public class Server {
    public static void main(String[] ar) {
int port = 5555;
try 
{
      ServerSocket ss = new ServerSocket(port);
      System.out.println("Waiting for a client...");
      Socket socket = ss.accept();
      System.out.println("Client!");
      System.out.println();
return;
 
}
catch(Exception x) { x.printStackTrace(); 
     
    }
    }
}
Не знаю, правильно ли выполнен код, но при нажатии кнопки, на экран выводится Код 3, а подключения к серверу отсутствует.
Я написал отдельный java класс клиента для проверки, вдруг проблема уже не в коде:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.net.*;
import java.io.*;
 
public class Client {
    public static void main(String[] ar) throws Exception{
        int serverPort = 5555;
        String address = "127.0.0.1";
        try {
            InetAddress ipAddress = InetAddress.getByName(address);
            Socket socket = new Socket(ipAddress, serverPort);
        } catch (Exception x) {
            x.printStackTrace();
        }
    }
}
Но этот клиент работает нормально и подключается к серверу без проблем.
Подскажите, что не так, я еще новенький и многое не знаю, но хотелось бы понять причину проблемы, ибо без решения её я не могу дальше поэтапно делать приложение. Помогите пожалуйста.

Добавлено через 1 час 14 минут
P.S:
По найденным примерам немного подкорректировал код CONservice.java:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package service;
import java.net.Socket;
import java.io.*;
public class CONservice {
    final Socket s; 
 
    public CONservice(String host, int port) throws IOException {
        s = new Socket(host, port);
    }
    public void run() {
 
    }
 public static void main(String[] args)  {
        try {
            new CONservice("localhost", 5555).run();
        } catch (IOException e) {
        }
    }
 
}
В файл reg.java добавил:
Java
1
2
3
4
try {
                new CONservice("localhost", 5555).run();
                } catch (IOException e) {
                }
Исход в приложении такой же - не работает.
Попробовал скомпилировать файл коннект отдельно от проекта, и при его запуске клиент коннектится. Теперь я уже точно не могу понять в чем дело. Как вызвать этот CONservice в reg.java?

Добавлено через 1 час 14 минут
P.S.
Сделал ну еще проще - Вставил вначале после OnCreate
Java
1
2
3
try{
            Socket socket = new Socket("127.0.0.1", 5555);
            }catch(UnknownHostException e){}catch(IOException e){}
При запуске приложения он должен попытаться подключится... Без толку... И как тут копать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2015, 18:26     Android приложение с использованием сокетов из определенного класса
Посмотрите здесь:

Моё первое приложение на Android Android
Android Android Приложение и интернет
OPC переменные и Android приложение Android
Android Первое приложение на Android
Android Анимация кнопки Android приложение
Работа с данными Android приложение Android
Приложение-книга для Android Android
Android Клиент-серверное приложение android
Android Android-приложение, диплом
Android studio не заменяет приложение Android
Android Приложение не запускается на Android 5.1 и выше
Android Не собирается приложение с android NDK

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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