Android Socket получает исключение при отправке данных - PullRequest
0 голосов
/ 15 ноября 2011

Я проверил код ниже. Он работал в эмуляторе, но не работал в Android Mobile. Нужно ли делать какие-либо настройки? Пожалуйста, помогите мне. Спасибо.

try {
    Socket socket = new Socket("192.168.0.54", 9083);
    PrintWriter out = new PrintWriter(new BufferedWriter(
            new OutputStreamWriter(socket.getOutputStream())), true);
    out.println("Testing");

    InputStream inputStream = socket.getInputStream();
    BufferedReader reader = new BufferedReader(new InputStreamReader(
            inputStream));
    String readObject = reader.readLine();
    System.out.println(readObject);
} 
 catch (Exception e) {
   e.printStackTrace();
 }

Ответы [ 2 ]

0 голосов
/ 16 ноября 2011

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

0 голосов
/ 15 ноября 2011

«Сброс соединения по одноранговой сети» означает, что кто-то между вашим телефоном и сервером (включительно) закрыл соединение, пока вы читали его.

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

Вы должны добавить трассировку стека к вашему сообщению. Без этого наши ответы просто догадки ...

Редактировать: IP-адрес 192.168.x.x указывает на внутреннюю сеть. Вы уверены, что можете получить доступ к внутренней сети через WiFi / 3G?

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