Socket

Android #Android #Сеть

Всё взаимодействие с сокетами должно идти внутри блока try catch, т.к. сеть нами не контролируется и возможность возникновения ошибок очень велика. Также всё взаимодействие с сетью должно происходить вне основного потока (UI). Порядок работы с сокетом: - Создать сокет - Получить от него InputStream - Читать блоками - Закрыть сокет - Всё в блоке try ```

protected Void doInBackground(Void... arg0) { Socket socket = null; try { socket = new Socket(dstAddress, dstPort); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(1024); byte[] buffer = new byte[1024]; int byteRead; InputStream inputStream = socket.getInputStream(); while ((bytesRead = inputStream.read(buffer)) != -1) { byteArrayOutputStream.write(buffer, 0, bytesRead); response += byteArrayOutputStream.toString("UTF-8"); } } catch (UnknownHostException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } finally { if (socket != null) { try { socket.close(); } catch (IOException ex) { ex..printStackTrace(); } } } return null; }

Оценка статьи 0

Комментарии

Пока комментариев нет.