AdbHelper

public final class AdbHelper
extends Object

java.lang.Object
   ↳ com.android.tradefed.device.server.AdbHelper


Klasa pomocnicza do obsługi żądań i połączeń z adb.

AndroidDebugBridge to publiczny interfejs API do łączenia się z adb, a AdbHelper wykonuje czynności niskiego poziomu.

Obecnie używa nieblokujących operacji wejścia-wyjścia z oczekiwaniem w pętli. Selektor byłby bardziej wydajny, ale w tym przypadku wydaje się przesadą.

Podsumowanie

Zagnieżdżone klasy

class AdbHelper.AdbResponse

Odpowiedź z ADB. 

Stałe

String HOST_TRANSPORT

Fieldsem

public static final Charset DEFAULT_CHARSET

Metody publiczne

static void createForward(InetSocketAddress adbSockAddr, IDevice device, String localPortSpec, String remotePortSpec)

Tworzy przekierowanie portów między portem lokalnym a zdalnym.

static AdbCommandRejectedException createHiddenException(String message, boolean errorDuringDeviceSelection)
static AdbCommandRejectedException createHiddenException(String message)
static byte[] createJdwpForwardRequest(int pid)

Tworzy żądanie przekierowania portów do procesu jdwp.

static SocketChannel createPassThroughConnection(InetSocketAddress adbSockAddr, String deviceSerialNumber, int pid)

Tworzy i łączy nowe gniazdo przelotowe z hosta z portem na urządzeniu.

static void createReverse(InetSocketAddress adbSockAddr, IDevice device, String remotePortSpec, String localPortSpec)

Tworzy odwrócenie portu między portem zdalnym a lokalnym.

static void executeRemoteCommand(InetSocketAddress adbSockAddr, String command, IDevice device, IShellOutputReceiver rcvr, long maxTimeToOutputResponse, TimeUnit maxTimeUnits)

Wykonuje polecenie powłoki na urządzeniu i pobiera dane wyjściowe.

static void executeRemoteCommand(InetSocketAddress adbSockAddr, AdbHelper.AdbService adbService, String command, IDevice device, IShellOutputReceiver rcvr, long maxTimeout, long maxTimeToOutputResponse, TimeUnit maxTimeUnits, InputStream is)

Wykonuje na urządzeniu polecenie zdalne i pobiera dane wyjściowe.

static void executeRemoteCommand(InetSocketAddress adbSockAddr, String command, IDevice device, IShellOutputReceiver rcvr, long maxTimeout, long maxTimeToOutputResponse, TimeUnit maxTimeUnits)

Wykonuje polecenie powłoki na urządzeniu i pobiera dane wyjściowe.

static byte[] formAdbRequest(String payloadString)

Utwórz ciąg ASCII poprzedzony 4 cyframi szesnastkowymi.

static String getFeatures(IDevice device)

Wysyła do urządzenia zapytanie o zestaw obsługiwanych funkcji.

static RawImage getFrameBuffer(InetSocketAddress adbSockAddr, IDevice device, long timeout, TimeUnit unit)

Pobierz bufor ramki z urządzenia z podanym czasem oczekiwania.

static String getHostFeatures()

Wysyła zapytanie do hosta ADB o zestaw obsługiwanych funkcji.

static SocketChannel open(InetSocketAddress adbSockAddr, IDevice device, int devicePort)

Utwórz i połącz nowe gniazdo przelotowe z hosta z portem na urządzeniu.

static SocketChannel rawAdbService(InetSocketAddress socketAddress, IDevice device, String command, AdbHelper.AdbService service)

Wywołaj usługę na urządzeniu zdalnym.

static SocketChannel rawExec(InetSocketAddress socketAddress, IDevice device, String executable, String[] parameters)

Wywołaj usługę host:exec na urządzeniu zdalnym.

static AdbHelper.AdbResponse readAdbResponse(SocketChannel chan, boolean readDiagString)

Odczytuje odpowiedź z ADB po wykonaniu polecenia.

static void reboot(String into, InetSocketAddress adbSockAddr, IDevice device)

Zrestartuj urządzenie.

static void removeForward(InetSocketAddress adbSockAddr, IDevice device, String localPortSpec)

Usuń przekierowanie portów między portem lokalnym a zdalnym.

static void removeReverse(InetSocketAddress adbSockAddr, IDevice device, String remotePortSpec)

Usuwanie odwracania portu między portem zdalnym a lokalnym.

static void root(InetSocketAddress adbSockAddr, IDevice device)

Poproś demona adb o uzyskanie uprawnień roota na urządzeniu.

static void setDevice(SocketChannel adbChan, IDevice device)

Po podaniu IDevice pobierz numer seryjny i poinformuj adb, aby komunikował się z tym urządzeniem.

static void setDevice(SocketChannel adbChan, String deviceSerialNumber)

informuje adb, że ma komunikować się z określonym urządzeniem.

static void write(SocketChannel chan, byte[] data, int length, int timeout)

Zapisuje dane do momentu, aż wszystkie dane w parametrze „data” zostaną zapisane, osiągnięta zostanie opcjonalna długość, upłynie czas oczekiwania lub połączenie zostanie przerwane.

static void write(SocketChannel chan, byte[] data)

Zapisuj dane, dopóki wszystkie dane w parametrze „data” nie zostaną zapisane lub dopóki połączenie nie ulegnie awarii bądź nie upłynie limit czasu.

Stałe

HOST_TRANSPORT

public static final String HOST_TRANSPORT

Constant Value: "host:transport:"

Fieldsem

DEFAULT_CHARSET

public static final Charset DEFAULT_CHARSET

Metody publiczne

createForward

public static void createForward (InetSocketAddress adbSockAddr, 
                IDevice device, 
                String localPortSpec, 
                String remotePortSpec)

Tworzy przekierowanie portów między portem lokalnym a zdalnym.

Parametry
adbSockAddr InetSocketAddress: adres gniazda do połączenia z adb

device IDevice: urządzenie, na którym ma być skonfigurowane przekierowanie portów

localPortSpec String: specyfikacja lokalnego portu do przekazywania dalej, powinna mieć format tcp:

remotePortSpec String: specyfikacja portu zdalnego, do którego ma być przekazywane połączenie, jeden z tych typów: tcp: localabstract: localreserved: localfilesystem: dev: jdwp: (tylko zdalny)

Zgłasza
TimeoutException w przypadku upłynięcia limitu czasu połączenia.
AdbCommandRejectedException jeśli adb odrzuci polecenie;
w przypadku błędu wejścia/wyjścia w połączeniu.

createHiddenException

public static AdbCommandRejectedException createHiddenException (String message, 
                boolean errorDuringDeviceSelection)

Parametry
message String

errorDuringDeviceSelection boolean

Zwroty
AdbCommandRejectedException

createHiddenException

public static AdbCommandRejectedException createHiddenException (String message)

Parametry
message String

Zwroty
AdbCommandRejectedException

createJdwpForwardRequest

public static byte[] createJdwpForwardRequest (int pid)

Tworzy żądanie przekierowania portów do procesu jdwp. Zwraca tablicę zawierającą ciąg „####jwdp:{pid}”.

Parametry
pid int: identyfikator procesu JDWP na urządzeniu.

Zwroty
byte[]

createPassThroughConnection

public static SocketChannel createPassThroughConnection (InetSocketAddress adbSockAddr, 
                String deviceSerialNumber, 
                int pid)

Tworzy i łączy nowe gniazdo przelotowe z hosta z portem na urządzeniu.

Parametry
deviceSerialNumber String: numer seryjny urządzenia, z którym ma być nawiązane połączenie. Może mieć wartość null lub być pusty. W takim przypadku połączenie zostanie nawiązane z pierwszym dostępnym urządzeniem.

pid int: identyfikator procesu, z którym chcesz się połączyć.

Zwroty
SocketChannel

Zgłasza
TimeoutException w przypadku upłynięcia limitu czasu połączenia.
AdbCommandRejectedException jeśli adb odrzuci polecenie;
w przypadku błędu wejścia/wyjścia w połączeniu.

createReverse

public static void createReverse (InetSocketAddress adbSockAddr, 
                IDevice device, 
                String remotePortSpec, 
                String localPortSpec)

Tworzy odwrócenie portu między portem zdalnym a lokalnym.

Parametry
adbSockAddr InetSocketAddress: adres gniazda do połączenia z adb

device IDevice: urządzenie, na którym ma zostać odwrócony port

remotePortSpec String: specyfikacja portu zdalnego, do którego ma zostać przekierowane połączenie zwrotne. Może to być: tcp: localabstract: localreserved: localfilesystem: dev: jdwp: (tylko zdalnie)

localPortSpec String: specyfikacja portu lokalnego, powinna mieć format tcp:

Zgłasza
TimeoutException w przypadku upłynięcia limitu czasu połączenia.
AdbCommandRejectedException jeśli adb odrzuci polecenie;
w przypadku błędu wejścia/wyjścia w połączeniu.

executeRemoteCommand

public static void executeRemoteCommand (InetSocketAddress adbSockAddr, 
                String command, 
                IDevice device, 
                IShellOutputReceiver rcvr, 
                long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits)

Wykonuje polecenie powłoki na urządzeniu i pobiera dane wyjściowe. Dane wyjściowe są przekazywane do rcvr w miarę ich pojawiania się.

Parametry
adbSockAddr InetSocketAddress: ERROR(/InetSocketAddress) do adb.

command String: polecenie powłoki do wykonania

device IDevice: IDevice, na którym ma zostać wykonane polecenie.

rcvr IShellOutputReceiver: IShellOutputReceiver, który otrzyma wynik polecenia powłoki.

maxTimeToOutputResponse long: maksymalny czas między wynikami poleceń. Jeśli między danymi wyjściowymi polecenia upłynie więcej czasu, metoda zgłosi wyjątek ShellCommandUnresponsiveException. Wartość 0 oznacza, że metoda będzie czekać na dane wyjściowe polecenia w nieskończoność i nigdy nie zgłosi wyjątku.

maxTimeUnits TimeUnit: jednostki dla wartości maxTimeToOutputResponse innych niż zero.

Zgłasza
TimeoutException w przypadku przekroczenia limitu czasu połączenia podczas wysyłania polecenia.
AdbCommandRejectedException jeśli adb odrzuci polecenie.
ShellCommandUnresponsiveException w przypadku, gdy polecenie powłoki nie wysyła żadnych danych wyjściowych przez okres dłuższy niż maxTimeToOutputResponse.
w przypadku błędu wejścia/wyjścia w połączeniu.

executeRemoteCommand

public static void executeRemoteCommand (InetSocketAddress adbSockAddr, 
                AdbHelper.AdbService adbService, 
                String command, 
                IDevice device, 
                IShellOutputReceiver rcvr, 
                long maxTimeout, 
                long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits, 
                InputStream is)

Wykonuje na urządzeniu polecenie zdalne i pobiera dane wyjściowe. Dane wyjściowe są przekazywane do rcvr w miarę ich pojawiania się. Polecenie jest wykonywane przez usługę zdalną określoną przez parametr adbService.

Parametry
adbSockAddr InetSocketAddress: ERROR(/InetSocketAddress) do adb.

adbService AdbHelper.AdbService: AdbHelper.AdbService, którego chcesz użyć do uruchomienia polecenia.

command String: polecenie powłoki do wykonania

device IDevice: IDevice, na którym ma zostać wykonane polecenie.

rcvr IShellOutputReceiver: IShellOutputReceiver, który otrzyma wynik polecenia powłoki.

maxTimeout long: maksymalny czas oczekiwania na wykonanie całego polecenia. Wartość 0 oznacza brak limitu czasu.

maxTimeToOutputResponse long: maksymalny czas między wynikami poleceń. Jeśli między danymi wyjściowymi polecenia upłynie więcej czasu, metoda zgłosi wyjątek ShellCommandUnresponsiveException. Wartość 0 oznacza, że metoda będzie czekać na dane wyjściowe polecenia w nieskończoność i nigdy nie zgłosi wyjątku.

maxTimeUnits TimeUnit: jednostki dla wartości innych niż zero w polach maxTimeoutmaxTimeToOutputResponse.

is InputStream: opcjonalny ERROR(/InputStream), który ma być przesyłany strumieniowo po wywołaniu polecenia i przed pobraniem odpowiedzi.

Zgłasza
TimeoutException w przypadku przekroczenia limitu czasu połączenia podczas wysyłania polecenia.
AdbCommandRejectedException jeśli adb odrzuci polecenie.
ShellCommandUnresponsiveException w przypadku, gdy polecenie powłoki nie wysyła żadnych danych wyjściowych przez okres dłuższy niż maxTimeToOutputResponse.
w przypadku błędu wejścia/wyjścia w połączeniu.

executeRemoteCommand

public static void executeRemoteCommand (InetSocketAddress adbSockAddr, 
                String command, 
                IDevice device, 
                IShellOutputReceiver rcvr, 
                long maxTimeout, 
                long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits)

Wykonuje polecenie powłoki na urządzeniu i pobiera dane wyjściowe. Dane wyjściowe są przekazywane do rcvr w miarę ich pojawiania się.

Parametry
adbSockAddr InetSocketAddress: ERROR(/InetSocketAddress) do adb.

command String: polecenie powłoki do wykonania

device IDevice: IDevice, na którym ma zostać wykonane polecenie.

rcvr IShellOutputReceiver: IShellOutputReceiver, który otrzyma wynik polecenia powłoki.

maxTimeout long: maksymalny czas oczekiwania na zwrócenie polecenia. Wartość 0 oznacza, że nie zostanie zastosowany maksymalny czas oczekiwania.

maxTimeToOutputResponse long: maksymalny czas między wynikami poleceń. Jeśli między danymi wyjściowymi polecenia upłynie więcej czasu, metoda zgłosi wyjątek ShellCommandUnresponsiveException. Wartość 0 oznacza, że metoda będzie czekać na dane wyjściowe polecenia w nieskończoność i nigdy nie zgłosi wyjątku.

maxTimeUnits TimeUnit: jednostki dla wartości innych niż zero w polach maxTimeoutmaxTimeToOutputResponse.

Zgłasza
TimeoutException w przypadku przekroczenia limitu czasu połączenia podczas wysyłania polecenia.
AdbCommandRejectedException jeśli adb odrzuci polecenie.
ShellCommandUnresponsiveException w przypadku, gdy polecenie powłoki nie wysyła żadnych danych wyjściowych przez okres dłuższy niż maxTimeToOutputResponse.
w przypadku błędu wejścia/wyjścia w połączeniu.

formAdbRequest

public static byte[] formAdbRequest (String payloadString)

Utwórz ciąg ASCII poprzedzony 4 cyframi szesnastkowymi. Początkowy ciąg „####” to długość pozostałej części ciągu znaków zakodowana w formacie szesnastkowym ASCII (wielkość liter nie ma znaczenia).

Parametry
payloadString String

Zwroty
byte[]

getFeatures

public static String getFeatures (IDevice device)

Wysyła do urządzenia zapytanie o zestaw obsługiwanych funkcji.

Parametry
device IDevice: urządzenie, na którym ma być skonfigurowane przekierowanie portów

Zwroty
String

Zgłasza
TimeoutException w przypadku upłynięcia limitu czasu połączenia.
AdbCommandRejectedException jeśli adb odrzuci polecenie;
w przypadku błędu wejścia/wyjścia w połączeniu.

getFrameBuffer

public static RawImage getFrameBuffer (InetSocketAddress adbSockAddr, 
                IDevice device, 
                long timeout, 
                TimeUnit unit)

Pobierz bufor ramki z urządzenia z podanym czasem oczekiwania. Wartość 0 oznacza, że będzie czekać w nieskończoność.

Parametry
adbSockAddr InetSocketAddress

device IDevice

timeout long

unit TimeUnit

Zwroty
RawImage

Zgłasza
TimeoutException w przypadku upłynięcia limitu czasu połączenia.
AdbCommandRejectedException jeśli adb odrzuci polecenie;
w przypadku błędu wejścia/wyjścia w połączeniu.

getHostFeatures

public static String getHostFeatures ()

Wysyła zapytanie do hosta ADB o zestaw obsługiwanych funkcji.

Zwroty
String

Zgłasza
TimeoutException w przypadku upłynięcia limitu czasu połączenia.
AdbCommandRejectedException jeśli adb odrzuci polecenie;
w przypadku błędu wejścia/wyjścia w połączeniu.

otwórz

public static SocketChannel open (InetSocketAddress adbSockAddr, 
                IDevice device, 
                int devicePort)

Utwórz i połącz nowe gniazdo przelotowe z hosta z portem na urządzeniu.

Parametry
device IDevice: urządzenie, z którym chcesz się połączyć. Może mieć wartość null, w którym to przypadku połączenie zostanie nawiązane z pierwszym dostępnym urządzeniem.

devicePort int: port, który otwieramy

Zwroty
SocketChannel

Zgłasza
TimeoutException w przypadku upłynięcia limitu czasu połączenia.
w przypadku błędu wejścia/wyjścia w połączeniu.
AdbCommandRejectedException jeśli adb odrzuci polecenie;

rawAdbService

public static SocketChannel rawAdbService (InetSocketAddress socketAddress, 
                IDevice device, 
                String command, 
                AdbHelper.AdbService service)

Wywołaj usługę na urządzeniu zdalnym. Zwraca kanał gniazda połączony z procesem wykonawczym.

ddlmib zrzeka się własności zwróconego obiektu SocketChannel i musi zostać wyraźnie zamknięty po użyciu.

Parametry
device IDevice: urządzenie, z którym chcesz się połączyć. Może mieć wartość null, w którym to przypadku połączenie zostanie nawiązane z pierwszym dostępnym urządzeniem.

command String: polecenie do wykonania

service AdbHelper.AdbService: AdbHelper.AdbService, którego chcesz użyć do uruchomienia polecenia.

Zwroty
SocketChannel

Zgłasza
IOException
com.android.ddmlib.TimeoutException
com.android.ddmlib.AdbCommandRejectedException
AdbCommandRejectedException
TimeoutException

rawExec

public static SocketChannel rawExec (InetSocketAddress socketAddress, 
                IDevice device, 
                String executable, 
                String[] parameters)

Wywołaj usługę host:exec na urządzeniu zdalnym. Zwraca kanał gniazda połączony z procesem wykonywania. Pamiętaj, że usługa exec nie rozróżnia stdout i stderr, więc wszystko, co jest odczytywane z gniazda, może pochodzić z dowolnego wyjścia i być przeplatane.

ddlmib zrzeka się własności zwróconego obiektu SocketChannel i musi zostać wyraźnie zamknięty po użyciu.

Parametry
device IDevice: urządzenie, z którym chcesz się połączyć. Może mieć wartość null, w którym to przypadku połączenie zostanie nawiązane z pierwszym dostępnym urządzeniem.

executable String: ścieżka bezwzględna do pliku wykonywalnego, który ma zostać uruchomiony.

parameters String: parametry do pobrania po wykonaniu pliku wykonywalnego.

Zwroty
SocketChannel

Zgłasza
IOException
com.android.ddmlib.TimeoutException
com.android.ddmlib.AdbCommandRejectedException
AdbCommandRejectedException
TimeoutException

readAdbResponse

public static AdbHelper.AdbResponse readAdbResponse (SocketChannel chan, 
                boolean readDiagString)

Odczytuje odpowiedź z ADB po wykonaniu polecenia.

Parametry
chan SocketChannel: kanał gniazda połączony z adb.

readDiagString boolean: jeśli wartość jest prawdziwa, oczekujemy, że po odpowiedzi OKAY pojawi się ciąg diagnostyczny. W przeciwnym razie oczekujemy, że po słowie FAIL pojawi się tylko ciąg diagnostyczny.

Zwroty
AdbHelper.AdbResponse

Zgłasza
TimeoutException w przypadku upłynięcia limitu czasu połączenia.
w przypadku błędu wejścia/wyjścia w połączeniu.

Uruchom ponownie

public static void reboot (String into, 
                InetSocketAddress adbSockAddr, 
                IDevice device)

Zrestartuj urządzenie.

Parametry
into String: co ma zostać ponownie uruchomione (tryb odzyskiwania, program rozruchowy). lub null, aby tylko ponownie uruchomić urządzenie.

adbSockAddr InetSocketAddress

device IDevice

Zgłasza
TimeoutException w przypadku upłynięcia limitu czasu połączenia.
AdbCommandRejectedException jeśli adb odrzuci polecenie;
w przypadku błędu wejścia/wyjścia w połączeniu.

removeForward

public static void removeForward (InetSocketAddress adbSockAddr, 
                IDevice device, 
                String localPortSpec)

Usuń przekierowanie portu między portem lokalnym a zdalnym.

Parametry
adbSockAddr InetSocketAddress: adres gniazda, z którym ma się połączyć adb.

device IDevice: urządzenie, na którym ma zostać usunięte przekierowanie portów

localPortSpec String: specyfikacja przekierowanego portu lokalnego, powinna mieć format tcp:

Zgłasza
TimeoutException w przypadku upłynięcia limitu czasu połączenia.
AdbCommandRejectedException jeśli adb odrzuci polecenie;
w przypadku błędu wejścia/wyjścia w połączeniu.

removeReverse

public static void removeReverse (InetSocketAddress adbSockAddr, 
                IDevice device, 
                String remotePortSpec)

Usuwanie odwracania portu między portem zdalnym a lokalnym.

Parametry
adbSockAddr InetSocketAddress: adres gniazda, z którym ma się połączyć adb.

device IDevice: urządzenie, na którym ma zostać usunięte odwrócenie portu

remotePortSpec String: specyfikacja portu zdalnego odwrócona do jednego z tych typów: tcp: localabstract: localreserved: localfilesystem: dev: jdwp: (tylko zdalny)

Zgłasza
TimeoutException w przypadku upłynięcia limitu czasu połączenia.
AdbCommandRejectedException jeśli adb odrzuci polecenie;
w przypadku błędu wejścia/wyjścia w połączeniu.

root

public static void root (InetSocketAddress adbSockAddr, 
                IDevice device)

Poproś demona adb o uzyskanie uprawnień roota na urządzeniu. Może to się nie udać bez powiadomienia i działa tylko w przypadku wersji deweloperskich. Więcej informacji znajdziesz w sekcji „adb root”. Jeśli chcesz sprawdzić, czy się udało, możesz sprawdzić wynik polecenia executeRemoteCommand na „echo \$USER_ID”. Jeśli jest on równy 0, oznacza to, że adbd działa jako root.

Parametry
adbSockAddr InetSocketAddress

device IDevice

Zgłasza
TimeoutException w przypadku upłynięcia limitu czasu połączenia.
AdbCommandRejectedException jeśli adb odrzuci polecenie;
w przypadku błędu wejścia/wyjścia w połączeniu.

setDevice

public static void setDevice (SocketChannel adbChan, 
                IDevice device)

Wybierz IDevice, aby pobrać numer seryjny i polecić adb komunikację z tym urządzeniem.

Parametry
adbChan SocketChannel: połączenie gniazda z adb.

device IDevice: urządzenie, do którego chcesz mówić.

Zgłasza
TimeoutException w przypadku upłynięcia limitu czasu połączenia.
AdbCommandRejectedException jeśli adb odrzuci polecenie;
w przypadku błędu wejścia/wyjścia w połączeniu.

setDevice

public static void setDevice (SocketChannel adbChan, 
                String deviceSerialNumber)

informuje adb, że ma komunikować się z określonym urządzeniem.

Parametry
adbChan SocketChannel: połączenie gniazda z adb

deviceSerialNumber String: numer seryjny urządzenia, z którym chcesz się połączyć. Jeśli ma wartość null, domyślnie wybrane urządzenie to to, które zostało wybrane przez adb.

Zgłasza
TimeoutException w przypadku upłynięcia limitu czasu połączenia.
AdbCommandRejectedException jeśli adb odrzuci polecenie;
w przypadku błędu wejścia/wyjścia w połączeniu.

pisać

public static void write (SocketChannel chan, 
                byte[] data, 
                int length, 
                int timeout)

Zapisuje dane do momentu, aż wszystkie dane w parametrze „data” zostaną zapisane, osiągnięta zostanie opcjonalna długość, upłynie czas oczekiwania lub połączenie zostanie przerwane. Zwraca wartość „true”, jeśli wszystkie dane zostały zapisane.

Parametry
chan SocketChannel: otwarte gniazdo, do którego można zapisywać dane.

data byte: bufor do wysłania.

length int: długość zapisu lub -1, aby wysłać cały bufor.

timeout int: wartość limitu czasu. Wartość 0 oznacza „czekaj bez końca”.

Zgłasza
TimeoutException w przypadku upłynięcia limitu czasu połączenia.
w przypadku błędu wejścia/wyjścia w połączeniu.

pisać

public static void write (SocketChannel chan, 
                byte[] data)

Zapisuj dane, dopóki wszystkie dane w parametrze „data” nie zostaną zapisane lub połączenie nie ulegnie awarii albo nie upłynie limit czasu.

Używana jest domyślna wartość limitu czasu.

Parametry
chan SocketChannel: otwarte gniazdo, do którego można zapisywać dane.

data byte: bufor do wysłania.

Zgłasza
TimeoutException w przypadku upłynięcia limitu czasu połączenia.
w przypadku błędu wejścia/wyjścia w połączeniu.