Opis
Interfejs API chrome.socket
służy do wysyłania i odbierania danych w sieci przez połączenia TCP i UDP. Uwaga: od Chrome 33 ten interfejs API jest wycofywany i zastępuje interfejsy API sockets.udp
, sockets.tcp
oraz sockets.tcpServer
.
Uprawnienia
socket
Typy
AcceptInfo
Właściwości
-
resultCode
liczba
-
socketId
liczba opcjonalnie
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
Nazwa bazowa adaptera. *nix będzie to zazwyczaj „eth0”, „lo” itd.
-
prefixLength
liczba
Długość prefiksu
ReadInfo
Właściwości
-
dane
SlateBuffer
-
resultCode
liczba
wynik codeCode zwrócony z wywołania read();
RecvFromInfo
Właściwości
-
adres
ciąg znaków
Adres komputera zdalnego.
-
dane
SlateBuffer
-
port
liczba
-
resultCode
liczba
wynik CodeCode zwrócony z wywołania recvfrom().
SecureOptions
Właściwości
-
tlsVersion
TLSVersionConstraints – opcjonalne
SocketInfo
Właściwości
-
Połączono
wartość logiczna
Wskazuje, czy gniazdo jest podłączone.
W przypadku gniazd
tcp
zasada ta obowiązuje nawet po rozłączeniu zdalnego peera. Odczyt lub zapis w gniazdku może spowodować błąd, co będzie wskazywać, że to gniazdko należy odłączyć za pomocądisconnect()
.W przypadku gniazd
udp
wskazuje tylko, czy określono domyślny adres zdalny do odczytu i zapisu pakietów. -
localAddress
ciąg znaków opcjonalny
Jeśli bazowe gniazdo jest powiązane lub połączone, zawiera jego lokalny adres IPv4/6.
-
localPort
liczba opcjonalnie
Jeśli bazowe gniazdo jest powiązane lub połączone, zawiera jego port lokalny.
-
peerAddress
ciąg znaków opcjonalny
Jeśli bazowe gniazdo jest podłączone, zawiera adres IPv4/6 peera.
-
peerPort
liczba opcjonalnie
Jeśli podstawowe gniazdo jest podłączone, zawiera port połączonego peera.
-
socketType
Typ przekazywanego gniazda. 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 akceptowana wersja protokołu TLS. Obsługiwane wartości to
tls1.2
lubtls1.3
.Wartości
tls1
itls1.1
nie są już obsługiwane. Jeśli zasadamin
ma ustawioną jedną z tych wartości, zostanie dyskretnie ograniczona dotls1.2
. Jeśli zasadamax
ma ustawioną jedną z tych wartości lub inną nierozpoznaną wartość, zostanie dyskretnie ignorowana.
WriteInfo
Właściwości
-
bytesWritten
liczba
Liczba wysłanych bajtów lub ujemny kod błędu.
Metody
accept()
chrome.socket.accept(
socketId: number,
callback: function,
)
Ta metoda ma zastosowanie tylko do gniazd TCP. Rejestruje funkcję wywołania zwrotnego, która jest wywoływana po zaakceptowaniu połączenia w tym gniazdie serwera nasłuchu. Najpierw trzeba wywołać funkcję Słuchanie. Jeśli istnieje już aktywne wywołanie zwrotne odbioru, to wywołanie zwrotne zostanie natychmiast wywołane z błędem w kodzie wyniku.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(acceptInfo: AcceptInfo) => void
-
acceptInfo
-
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
)
Wiąże lokalny adres gniazda. Obecnie nie obsługuje gniazda TCP.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
adres
ciąg znaków
Adres komputera lokalnego.
-
port
liczba
Port komputera lokalnego.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(result: number) => void
-
wynik
liczba
-
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
)
Umożliwia podłączenie gniazda do maszyny zdalnej (gniazda tcp
). W przypadku gniazda udp
określa domyślny adres, do którego wysyłane są pakiety i z których są odczytywane dla wywołań read()
i write()
.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
nazwa hosta
ciąg znaków
Nazwa hosta lub adres IP maszyny zdalnej.
-
port
liczba
Port komputera zdalnego.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(result: number) => void
-
wynik
liczba
-
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
)
Tworzy gniazdo określonego typu, które łączy się z podanym komputerem zdalnym.
Parametry
-
typ
Typ gniazda do utworzenia. Musi to być wartość
tcp
lubudp
. -
Opcje
Opcjonalne CreateOptions
Opcje gniazda.
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(createInfo: CreateInfo) => void
-
createInfo
-
Zwroty
-
Promise<CreateInfo>
Chrome w wersji 121 lub nowszej .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
destroy()
chrome.socket.destroy(
socketId: number,
)
Niszczy gniazdo. Każde utworzone gniazdo powinno zostać zniszczone po użyciu.
Parametry
-
socketId
liczba
Identyfikator gniazda.
disconnect()
chrome.socket.disconnect(
socketId: number,
)
Odłącza gniazdko. W przypadku gniazd UDP zasada disconnect
nie jest operacją, 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
funkcja optional
Parametr
callback
wygląda tak:(result: SocketInfo) => void
-
wynik
-
Zwroty
-
Promise<SocketInfo>
Chrome w wersji 121 lub nowszej .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
)
Pobierz adresy grup multicast, do których gniazdo jest obecnie dołączone.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(groups: string[]) => void
-
grupy
ciąg znaków[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
)
Pobiera informacje o adapterach lokalnych w tym systemie.
Parametry
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(result: NetworkInterface[]) => void
-
wynik
-
Zwroty
-
Promise<NetworkInterface[]>
Chrome w wersji 121 lub nowszej .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
)
Dołącz do grupy multicast i zacznij otrzymywać od niej pakiety. Gniazdo musi być typu UDP i musi być powiązane z portem lokalnym przed wywołaniem tej metody.
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
wygląda tak:(result: number) => void
-
wynik
liczba
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
)
Opuść grupę multicast, która wcześniej dołączyła za pomocą joinGroup
. Przed zniszczeniem gniazda lub zamknięciem nie musisz opuszczać grupy multicast. Jest ona wywoływana automatycznie przez system operacyjny.
Jeśli opuścisz grupę, router nie będzie wysyłać danych multiemisji do hosta lokalnego (przy założeniu, że żaden inny proces na hoście nadal nie jest do niej dołączony).
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
adres
ciąg znaków
Adres grupy, z której chcesz wyjść. Nazwy domen nie są obsługiwane.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(result: number) => void
-
wynik
liczba
-
listen()
chrome.socket.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
)
Ta metoda ma zastosowanie tylko do gniazd TCP. Nasłuchuje połączeń na określonym porcie i adresie. W efekcie jest to gniazdo serwera i nie można w nim używać funkcji gniazda klienta (łączenia, odczytu i zapisu).
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
adres
ciąg znaków
Adres komputera lokalnego.
-
port
liczba
Port komputera lokalnego.
-
zaległości
liczba opcjonalnie
Długość kolejki nasłuchiwania gniazda.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(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
liczba opcjonalnie
Rozmiar bufora odczytu.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(readInfo: ReadInfo) => void
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
)
Odbiera dane z danego gniazda UDP.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
bufferSize
liczba opcjonalnie
Rozmiar bufora odbierania.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
)
Rozpocznij połączenie z klientem TLS przez połączone gniazdo klienta TCP.
Parametry
-
socketId
liczba
Podłączone gniazdko, którego chcesz używać.
-
Opcje
Opcjonalne SecureOptions
Ograniczenia i parametry połączenia TLS.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(result: number) => void
-
wynik
liczba
-
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
)
Wysyła dane z danego gniazda UDP na podany adres i port.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
dane
SlateBuffer
Dane do zapisu.
-
adres
ciąg znaków
Adres komputera zdalnego.
-
port
liczba
Port komputera zdalnego.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(writeInfo: WriteInfo) => void
-
writeInfo
-
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
)
Włącza lub wyłącza funkcję utrzymywania aktywności połączenia TCP.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
włącz
wartość logiczna
Jeśli ma wartość true (prawda), włącz funkcję utrzymywania aktywności.
-
opóźnienia
liczba opcjonalnie
Ustaw opóźnienie w sekundach między ostatnim otrzymanym pakietem danych a pierwszą sondą utrzymywania aktywności. Wartość domyślna to 0.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(result: boolean) => void
-
wynik
wartość logiczna
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
Określ, czy pakiety transmisji grupowej wysyłane z hosta do grupy transmisji grupowej będą zapętlone z powrotem do hosta.
Uwaga: działanie setMulticastLoopbackMode
różni się w zależności od systemu Windows i systemu Unix. Niespójność występuje tylko wtedy, gdy do tej samej grupy multiemisji przyłączono więcej niż jedną aplikację na tym samym hoście, a jednocześnie mają różne ustawienia w trybie pętli multicast. W systemie Windows aplikacje z wyłączoną pętlą nie odbierają pakietów zapętlających. w systemach typu Unix aplikacje z wyłączoną funkcją loopback nie wysyłają pakietów zapętlających się do innych aplikacji na tym samym hoście. Sprawdź MSDN: http://goo.gl/6vqbj
Wywołanie tej metody nie wymaga uprawnień do transmisji grupowej.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
włączone
wartość logiczna
Określ, czy chcesz włączyć tryb pętli.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(result: number) => void
-
wynik
liczba
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
Ustaw czas życia pakietów transmisji grupowej wysłanych do grupy.
Wywołanie tej metody nie wymaga uprawnień do transmisji grupowej.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
TTL
liczba
Wartość czasu życia danych.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(result: number) => void
-
wynik
liczba
-
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
)
Konfiguruje lub usuwa TCP_NODELAY
dla połączenia TCP. Po ustawieniu ustawienia TCP_NODELAY
algorytm Nagle zostanie wyłączony.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
noDelay
wartość logiczna
Jeśli ma wartość prawda, algorytm Nagle wyłącza algorytm Nagle.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(result: boolean) => void
-
wynik
wartość logiczna
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
)
Zapisuje dane w danym podłączonym gniazdku.