Opis
Wysyłaj i odbieraj dane w sieci za pomocą połączeń TCP i UDP za pomocą interfejsu chrome.socket
API. Uwaga: od wersji Chrome 33 ten interfejs API został wycofany na rzecz interfejsów sockets.udp
, sockets.tcp
i sockets.tcpServer
.
Uprawnienia
socket
Typy
AcceptInfo
Właściwości
-
resultCode
liczba
-
socketId
number opcjonalny
Identyfikator akceptowanego gniazda.
CreateInfo
Właściwości
-
socketId
liczba
Identyfikator nowo utworzonego gniazda.
CreateOptions
NetworkInterface
Właściwości
-
adres
ciąg znaków
Dostępny adres IPv4/6.
-
nazwa
ciąg znaków
Podstawowa nazwa karty. W systemie *nix będzie to zwykle „eth0”, „lo” itp.
-
prefixLength
liczba
Długość prefiksu
ReadInfo
Właściwości
-
dane
ArrayBuffer
-
resultCode
liczba
Kod wyniku zwrócony przez wywołanie metody read().
RecvFromInfo
Właściwości
-
adres
ciąg znaków
Adres maszyny zdalnej.
-
dane
ArrayBuffer
-
port
liczba
-
resultCode
liczba
Kod wyniku zwrócony przez wywołanie podstawowej funkcji recvfrom().
SecureOptions
Właściwości
-
tlsVersion
TLSVersionConstraints opcjonalnie
SocketInfo
Właściwości
-
Połączono
wartość logiczna
Informacja, czy podstawowa gniazda jest połączona.
W przypadku gniazd
tcp
będzie to prawda nawet wtedy, gdy zdalny peer zostanie odłączony. Odczyt lub zapisywanie danych w gniezdziu może spowodować błąd, co sugeruje, że gniazdo powinno zostać odłączone za pomocą funkcjidisconnect()
.W przypadku gniazd
udp
wskazuje ono tylko, czy domyślny adres zdalny został określony do odczytu i zapisu pakietów. -
localAddress
ciąg znaków opcjonalny
Jeśli podstawowy gniazdo jest powiązane lub połączone, zawiera lokalny adres IPv4 lub IPv6.
-
localPort
number opcjonalny
Jeśli podstawa gniazda jest powiązana lub połączona, zawiera port lokalny.
-
peerAddress
ciąg znaków opcjonalny
Jeśli podstawowy gniazdo jest połączone, zawiera adres IPv4/6 peera.
-
peerPort
number opcjonalny
Jeśli podstawowe gniazdo jest połączone, zawiera port połączonego peera.
-
socketType
Typ przekazanego gniazda. Będzie to
tcp
lubudp
.
SocketType
Typ wyliczeniowy
„tcp”
„udp”
TLSVersionConstraints
Właściwości
-
maksimum
ciąg znaków opcjonalny
-
min
ciąg znaków opcjonalny
Minimalna i maksymalna dopuszczalna wersja TLS. Obsługiwane wartości to
tls1.2
lubtls1.3
.Wartości
tls1
itls1.1
nie są już obsługiwane. Jeślimin
ma jedną z tych wartości, zostanie automatycznie zmieniona natls1.2
. Jeślimax
ma jedną z tych wartości lub inną nierozpoznaną wartość, zostanie po cichu zignorowana.
WriteInfo
Właściwości
-
bytesWritten
liczba
Liczba wysłanych bajtów lub negatywny kod błędu.
Metody
accept()
chrome.socket.accept(
socketId: number,
callback: function,
)
Ta metoda dotyczy tylko gniazd TCP. Rejestruje funkcję wywołania zwrotnego, która zostanie wywołana po zaakceptowaniu połączenia na tym gniazdo serwera nasłuchującego. Najpierw należy wywołać Listen. Jeśli istnieje już aktywne wywołanie zwrotne accept callback, zostanie ono wywołane natychmiast, a jako parametr resultCode zostanie przekazany kod błędu.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(acceptInfo: AcceptInfo) => void
-
acceptInfo
-
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
)
Wiąże adres lokalny dla gniazda. Obecnie nie obsługuje gniazda TCP.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
adres
ciąg znaków
Adres lokalnego urządzenia.
-
port
liczba
Port na komputerze lokalnym.
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(result: number) => void
-
wynik
liczba
-
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
)
Łączy gniazdo ze zdalnym komputerem (w przypadku gniazda tcp
). W przypadku gniazda udp
ustawia domyślny adres, na który są wysyłane i z którego są odczytywane pakiety w przypadku wywołań read()
i write()
.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
nazwa hosta
ciąg znaków
Nazwa hosta lub adres IP zdalnego komputera.
-
port
liczba
Port komputera zdalnego.
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(result: number) => void
-
wynik
liczba
-
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
)
Tworzy gniazdo określonego typu, które połączy się z określonym zdalnym komputerem.
Parametry
-
typ
Typ gniazda, które ma zostać utworzone. Musi to być
tcp
lubudp
. -
Opcje
CreateOptions opcjonalne
Opcje gniazda.
-
wywołanie zwrotne
function opcjonalny
Parametr
callback
ma postać:(createInfo: CreateInfo) => void
-
createInfo
-
Zwroty
-
Obietnica<CreateInfo>
Chrome 121 lub nowszyObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.
destroy()
chrome.socket.destroy(
socketId: number,
)
Niszczy gniazdo. Każde utworzone gniazdo powinno zostać usunięte po użyciu.
Parametry
-
socketId
liczba
Identyfikator gniazda.
disconnect()
chrome.socket.disconnect(
socketId: number,
)
Odłącza gniazdo. W przypadku gniazd UDP funkcja disconnect
nie wykonuje żadnej operacji, ale można ją bezpiecznie wywołać.
Parametry
-
socketId
liczba
Identyfikator gniazda.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
)
Pobiera stan danego gniazda.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
wywołanie zwrotne
function opcjonalny
Parametr
callback
ma postać:(result: SocketInfo) => void
-
wynik
-
Zwroty
-
Promise<SocketInfo>
Chrome 121 lub nowszyObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
)
Pobiera adresy grup multicast, do których jest obecnie dołączony gniazdo.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(groups: string[]) => void
-
grupy
string[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
)
Pobiera informacje o adapterach lokalnych w tym systemie.
Parametry
-
wywołanie zwrotne
function opcjonalny
Parametr
callback
ma postać:(result: NetworkInterface[]) => void
-
wynik
-
Zwroty
-
Promise<NetworkInterface[]>
Chrome 121 lub nowszyObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
)
Dołącz do grupy wielodostępnej i zacznij odbierać pakiety z tej grupy. Przed wywołaniem tej metody gniazdo musi być typu UDP i musi być powiązane z lokalnym portem.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
adres
ciąg znaków
Adres grupy, do której chcesz dołączyć. Nazwy domen nie są obsługiwane.
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(result: number) => void
-
wynik
liczba
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
)
Opuść grupę wielodostępową, do której wcześniej dołączyłeś, używając joinGroup
. Nie musisz opuszczać grupy multicast przed zniszczeniem gniazda ani wyjściem. Jest on wywoływany automatycznie przez system operacyjny.
Opuszczanie grupy uniemożliwi routerowi wysyłanie datagramów multicast do hosta lokalnego, o ile żaden inny proces na hoście nie jest nadal dołączony do grupy.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
adres
ciąg znaków
Adres grupy, którą chcesz opuścić. Nazwy domen nie są obsługiwane.
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(result: number) => void
-
wynik
liczba
-
listen()
chrome.socket.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
)
Ta metoda dotyczy tylko gniazd TCP. Nasłuchuje połączeń na określonym porcie i adresie. W efekcie staje się to gniazdem serwera, a funkcji gniazda klienta (łącz, odczyt, zapis) nie można już używać w tym gnieździe.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
adres
ciąg znaków
Adres lokalnego urządzenia.
-
port
liczba
Port na komputerze lokalnym.
-
lista zadań
number opcjonalny
Długość kolejki nasłuchiwania gniazda.
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(result: number) => void
-
wynik
liczba
-
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
)
Odczytuje dane z danego połączonego gniazda.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
bufferSize
number opcjonalny
Rozmiar bufora odczytu.
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(readInfo: ReadInfo) => void
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
)
Odbiera dane z określonego gniazda UDP.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
bufferSize
number opcjonalny
Rozmiar bufora odbioru.
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
)
Uruchom połączenie klienta TLS przez połączony gniazdo klienta TCP.
Parametry
-
socketId
liczba
Połączone gniazdo, którego chcesz użyć.
-
Opcje
SecureOptions opcjonalnie
Ograniczenia i parametry połączenia TLS.
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(result: number) => void
-
wynik
liczba
-
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
)
Wysyła dane na określonym gnieździe UDP na określony adres i port.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
dane
ArrayBuffer
Dane do zapisania.
-
adres
ciąg znaków
Adres maszyny zdalnej.
-
port
liczba
Port komputera zdalnego.
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(writeInfo: WriteInfo) => void
-
writeInfo
-
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
)
Włącza lub wyłącza funkcję keep-alive w przypadku połączenia TCP.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
włącz
wartość logiczna
Jeśli wartość to prawda, włącz funkcję keep-alive.
-
opóźnienia
number opcjonalny
Ustaw opóźnienie w sekundach między ostatnim odebranym pakietem danych a pierwszym sondowaniem keepalive. Wartość domyślna to 0.
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(result: boolean) => void
-
wynik
wartość logiczna
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
Określ, czy pakiety multicast wysyłane z hosta do grupy multicast będą pętlą z powrotem do hosta.
Uwaga: działanie funkcji setMulticastLoopbackMode
różni się nieco w systemach Windows i podobnych do Unixa. Niezgodność występuje tylko wtedy, gdy na tym samym hoście jest więcej niż 1 aplikacja dołączona do tej samej grupy multicast z różnymi ustawieniami w trybie pętli multicast. W systemie Windows aplikacje z wyłączoną pętlą nie będą ODBYWAĆ pakietów pętli, a w systemach typu Unix aplikacje z wyłączoną pętlą nie będą WYSYŁAĆ pakietów pętli do innych aplikacji na tym samym hoście. Informacje znajdziesz na stronie MSDN: http://goo.gl/6vqbj
Wywoływanie tej metody nie wymaga uprawnień multicast.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
włączone
wartość logiczna
Wskazać, czy chcesz włączyć tryb pętli.
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(result: number) => void
-
wynik
liczba
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
Ustaw czas życia pakietów multicast wysyłanych do grupy multicast.
Wywoływanie tej metody nie wymaga uprawnień multicast.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
ttl
liczba
Wartość czasu życia.
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(result: number) => void
-
wynik
liczba
-
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
)
Ustawia lub czyści parametr TCP_NODELAY
w przypadku połączenia TCP. Algorytm Nagle zostanie wyłączony, gdy ustawisz TCP_NODELAY
.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
noDelay
wartość logiczna
Jeśli ma wartość Prawda, wyłącza algorytm Nagle.
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(result: boolean) => void
-
wynik
wartość logiczna
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
)
Zapisuje dane w danym połączonym gnieździe.