2013-09-15 3 views
0

У меня есть рабочий код, в котором я могу обмениваться данными между ПК и эмулятором Android. Теперь я хочу протестировать это приложение с помощью реального устройства Android. i.e я хочу обменять текст между моим компьютером, в котором у меня есть Java-сервер и Android-телефон. Для моего эмулятора я использовал виртуальный IP-адрес эмулятора, и он работал нормально. Но, чтобы проверить мое приложение на телефоне, я подключил телефон и компьютер в той же сети и использовал ip-адрес телефона в своем приложении. Затем я установил приложение в телефоне, но соединение не было установлено. Как другие изменения должны быть сделаны в коде для использования этого приложения в телефоне. Вот, мой андроид код,Android :: сотовая связь между ПК и телефоном через Wi-Fi?

try { 
     client = new Socket("123.236.165.50", 9999); 
     printwriter = new PrintWriter(client.getOutputStream(), true); 
     printwriter.println(messsage[0] + "\n"); 
     System.out.println("messsage::"+messsage[0]); 
     printwriter.flush(); 
     BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream())); 

       serverMessage = in.readLine(); 
       if (serverMessage.equals("exit")) { 
        runOnUiThread(new Runnable() { 
         public void run() { 
          tv.setText("Thankyu visit again!!" + "\n"); 
         } 
        });      } 
       else { 
       runOnUiThread(new Runnable() { 
        public void run() { 
         tv.setText(serverMessage.toString() + "\n"); 
        } 
       }); 

     } 
    } 
    } catch (UnknownHostException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    return null; 

Кроме того, я дал это разрешение в моем файле манифеста:

<uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> 
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission> 

Это мое первое приложение для Android, так, пожалуйста, помогите !!!

ответ

2

Убедитесь, что оба Android и ПК имеют одинаковую сеть.

Я предпочитаю вам в первый раз, чтобы соединиться с кабелем USB и запустить экспедирования cmd порта:

adb forward tcp:7612 tcp:7612 

порт 7612 я взял случайно.

Настройка код, чтобы использовать этот порт, как:

client = new Socket("127.0.0.1", 7612); 

Этим способом вы можете проверить, что его не проблема WiFi, но с вашим кодом.

Если все USB-устройства работают должным образом, попробуйте выяснить проблему с WiFi.

Надеется, что это поможет,

+0

эй, после переадресации портов, когда я запустить мой Java сервер я получаю исключение: Исключение в потоке «главный» java.net.BindException: Адрес уже используется – baibhavk

+0

после исключения, пожалуйста –

+0

убедитесь, что оба сервера Java и android используют один и тот же порт 7612 –

Смежные вопросы