Java-сервер и Android-клиент не будут соединяться - PullRequest
0 голосов
/ 23 октября 2011

Я пытаюсь подключить клиентский Android к серверу приложений Java, но без работы.Это код:

клиент Android;

_cb_led1.setOnClickListener(new View.OnClickListener() 
{ 
    public void onClick(View v)
    {
        Socket mySocket = new Socket("127.0.0.1", 9090);
        PrintStream p = new PrintStream(mySocket.getOutputStream());
        p.println("Mensaje");
    }
}); 

Java Server:

 s = new ServerSocket(9090);
 sc = s.accept();
 System.out.println("Conexión establecida");
 b = new BufferedReader( new InputStreamReader ( sc.getInputStream() ) );
 while ( true ) 
 {
      mensaje = b.readLine();
      System.out.println(mensaje);
   }
        b.close();

        sc.close();
        s.close();
    } 
    catch (IOException e) 
    {
        System.out.println("No puedo crear el socket");
    }
}

любые предложения

большое спасибо

Ответы [ 2 ]

1 голос
/ 23 октября 2011

127.0.0.1 указывает на локальный хост на эмуляторе.Вы должны использовать фактический IP-адрес вашего компьютера или 10.0.2.2, который указывает на localhost на компьютере, на котором запущен эмулятор.

0 голосов
/ 23 октября 2011

127.0.0.1 означает «эта машина». Действительно ли сервер находится на том же Android-устройстве (или эмуляторе)?

Если это так, зачем беспокоиться о сокетах? Если это не так, укажите реальный адрес или имя.

С точки зрения эмулятора Android компьютер, на котором он установлен, является , а не той же машиной. Если именно здесь работает сервер, используйте его общедоступный IP-адрес.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...