Opis
Używaj interfejsu chrome.sockets.tcp
API do wysyłania i odbierania danych w sieci przez połączenia TCP. Ten interfejs API zastępuje funkcję TCP, która wcześniej była dostępna w interfejsie chrome.socket
API.
Plik manifestu
Aby można było używać tego interfejsu API, następujące klucze muszą być zadeklarowane w pliku manifestu.
"sockets"
Typy
CreateInfo
Właściwości
-
socketId
Liczba
Identyfikator nowo utworzonego gniazda. Identyfikatory gniazd utworzone za pomocą tego interfejsu API są niezgodne z identyfikatorami gniazd utworzonymi za pomocą innych interfejsów API, takich jak wycofany interfejs
[
socket](../socket/)
API.
DnsQueryType
Ustawienia rozpoznawania nazw DNS. Wartość domyślna to any
i używana jest bieżąca konfiguracja systemu operacyjnego, która może zwracać adres IPv4 lub IPv6. ipv4
wymusza adres IPv4, a ipv6
wymusza adres IPv6.
Enum
„ipv4”
„ipv6”
ReceiveErrorInfo
Właściwości
-
resultCode
Liczba
Kod wyniku zwrócony przez bazowe wywołanie sieciowe.
-
socketId
Liczba
Identyfikator gniazda.
ReceiveInfo
Właściwości
-
dane
ArrayBuffer
Dane zostały odebrane, maksymalny rozmiar to
bufferSize
. -
socketId
Liczba
Identyfikator gniazda.
SecureOptions
Właściwości
-
tlsVersion
Opcjonalne TLSVersionConstraints
SendInfo
Właściwości
-
bytesSent
Liczba opcjonalnie
Liczba wysłanych bajtów (jeśli wynik == 0)
-
resultCode
Liczba
Kod wyniku zwrócony przez bazowe wywołanie sieciowe. Wartość ujemna oznacza błąd.
SocketInfo
Właściwości
-
bufferSize
Liczba opcjonalnie
Rozmiar bufora używanego do odbierania danych. Jeśli rozmiar bufora nie zostanie wyraźnie określony, wartość nie zostanie podana.
-
Połączono
boolean
Flaga z informacją, czy gniazdo jest połączone ze zdalnym połączeniem równorzędnym.
-
localAddress
ciąg znaków opcjonalny
Jeśli bazowe gniazdo jest podłączone, zawiera jego lokalny adres IPv4/6.
-
localPort
Liczba opcjonalnie
Jeśli bazowe gniazdo jest podłączone, zawiera jego port lokalny.
-
nazwa
ciąg znaków opcjonalny
Ciąg znaków zdefiniowany przez aplikację powiązany z gniazdem.
-
wstrzymane
boolean
Flaga z informacją, czy podłączone gniazdo blokuje połączenie równorzędne przed wysyłaniem większej ilości danych (patrz:
setPaused
). -
peerAddress
ciąg znaków opcjonalny
Jeśli bazowe gniazdo jest połączone, zawiera adres peer/ adres IPv4/6.
-
peerPort
Liczba opcjonalnie
Jeśli podstawowe gniazdo jest podłączone, zawiera port równorzędny.
-
trwałe
boolean
Flaga z informacją, czy gniazdo jest otwarte, gdy aplikacja jest zawieszona (patrz:
SocketProperties.persistent
). -
socketId
Liczba
Identyfikator gniazda.
SocketProperties
Właściwości
-
bufferSize
Liczba opcjonalnie
Rozmiar bufora używanego do odbierania danych. Wartość domyślna to 4096.
-
nazwa
ciąg znaków opcjonalny
Zdefiniowany przez aplikację ciąg znaków powiązany z gniazdem.
-
trwałe
wartość logiczna opcjonalna
Flaga wskazująca, czy gniazdo jest otwarte po wyładowaniu strony zdarzenia aplikacji (patrz Zarządzanie cyklem życia aplikacji). Wartość domyślna to „false”. Podczas wczytywania aplikacji wszystkie gniazda otwarte wcześniej z parametrem trwałym=true można pobrać za pomocą funkcji
getSockets
.
TLSVersionConstraints
Właściwości
-
maksimum
ciąg znaków opcjonalny
-
min
ciąg znaków opcjonalny
Minimalna i maksymalna akceptowalna 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ślimax
jest ustawiony na jedną z tych wartości lub dowolną inną nierozpoznaną wartość, zostanie dyskretnie zignorowana.
Metody
close()
chrome.sockets.tcp.close(
socketId: number,
callback?: function,
)
Zamyka gniazdo i zwalnia adres lub port, z którym jest powiązane. Każde utworzone gniazdo powinno zostać zamknięte po użyciu. Identyfikator gniazda nie jest już prawidłowy od razu po wywołaniu funkcji. Gwarantujemy jednak zamknięcie gniazda tylko po wywołaniu wywołania zwrotnego.
Parametry
-
socketId
Liczba
Identyfikator gniazda.
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:() => void
Akcje powrotne
-
Promise<void>
Chrome 121 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
connect()
chrome.sockets.tcp.connect(
socketId: number,
peerAddress: string,
peerPort: number,
dnsQueryType?: DnsQueryType,
callback: function,
)
Umożliwia podłączenie gniazdka do komputera zdalnego. Gdy operacja connect
zakończy się powodzeniem, po odebraniu danych z peera wywoływane są zdarzenia onReceive
. Jeśli podczas odbierania pakietów w środowisku wykonawczym wystąpi błąd sieci, zostanie zainicjowane zdarzenie onReceiveError
. Od tego momentu dla tego gniazda nie będzie już wywoływane zdarzenie onReceive
, dopóki nie zostanie wywołana metoda resume
.
Parametry
-
socketId
Liczba
Identyfikator gniazda.
-
peerAddress
string,
Adres komputera zdalnego. Obsługiwane są formaty nazw DNS oraz IPv4 i IPv6.
-
peerPort
Liczba
Port komputera zdalnego.
-
dnsQueryType
Opcjonalny DnsQueryType
Chrome 103 i nowsze wersjePreferencje dotyczące rozpoznawania adresu.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(result: number) => void
-
wynik
Liczba
Kod wyniku zwrócony przez bazowe wywołanie sieciowe. Wartość ujemna oznacza błąd.
-
create()
chrome.sockets.tcp.create(
properties?: SocketProperties,
callback?: function,
)
Tworzy gniazdo TCP.
Parametry
-
usługi
SocketProperties opcjonalne
Właściwości gniazda (opcjonalne).
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(createInfo: CreateInfo) => void
-
createInfo
Wynik utworzenia gniazda.
-
Akcje powrotne
-
Promise<CreateInfo>
Chrome 121 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
disconnect()
chrome.sockets.tcp.disconnect(
socketId: number,
callback?: function,
)
Odłącza gniazdko.
Parametry
-
socketId
Liczba
Identyfikator gniazda.
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:() => void
Akcje powrotne
-
Promise<void>
Chrome 121 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getInfo()
chrome.sockets.tcp.getInfo(
socketId: number,
callback?: function,
)
Pobiera stan danego gniazda.
Parametry
-
socketId
Liczba
Identyfikator gniazda.
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(socketInfo: SocketInfo) => void
-
socketInfo
Obiekt zawierający informacje o gnieździe.
-
Akcje powrotne
-
Promise<SocketInfo>
Chrome 121 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getSockets()
chrome.sockets.tcp.getSockets(
callback?: function,
)
Pobiera listę obecnie otwartych gniazd należących do aplikacji.
Parametry
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(socketInfos: SocketInfo[]) => void
-
socketInfos
Tablica obiektów z informacjami o gniazdach.
-
Akcje powrotne
-
Promise<SocketInfo[]>
Chrome 121 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
secure()
chrome.sockets.tcp.secure(
socketId: number,
options?: SecureOptions,
callback: function,
)
Uruchom połączenie z klientem TLS przez podłączone gniazdo klienta TCP.
Parametry
-
socketId
Liczba
Obecne podłączone gniazdko do użycia.
-
Opcje
Opcjonalny SecureOptions
Ograniczenia i parametry połączenia TLS.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(result: number) => void
-
wynik
Liczba
-
send()
chrome.sockets.tcp.send(
socketId: number,
data: ArrayBuffer,
callback: function,
)
Wysyła dane na danym gnieździe TCP.
Parametry
-
socketId
Liczba
Identyfikator gniazda.
-
dane
ArrayBuffer
Dane do wysłania.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(sendInfo: SendInfo) => void
-
sendInfo
Wynik metody
send
.
-
setKeepAlive()
chrome.sockets.tcp.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
)
Włącza lub wyłącza funkcję utrzymywania aktywności dla połączenia TCP.
Parametry
-
socketId
Liczba
Identyfikator gniazda.
-
enable
boolean
Jeśli ma wartość prawda, włącz funkcję utrzymywania aktywności.
-
opóźnienia
Liczba opcjonalnie
Ustaw liczbę sekund opóźnienia między ostatnim odebranym pakietem danych a pierwszą sondą utrzymującą aktywność. Wartość domyślna to 0.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(result: number) => void
-
wynik
Liczba
Kod wyniku zwrócony przez bazowe wywołanie sieciowe. Wartość ujemna oznacza błąd.
-
setNoDelay()
chrome.sockets.tcp.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
)
Ustawia lub czyści TCP_NODELAY
dla połączenia TCP. Algorytm Nagle zostanie wyłączony, gdy ustawiona jest wartość TCP_NODELAY
.
Parametry
-
socketId
Liczba
Identyfikator gniazda.
-
noDelay
boolean
Jeśli ma wartość prawda, wyłącza algorytm Nagle.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(result: number) => void
-
wynik
Liczba
Kod wyniku zwrócony przez bazowe wywołanie sieciowe. Wartość ujemna oznacza błąd.
-
setPaused()
chrome.sockets.tcp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
Włącza lub wyłącza możliwość odbierania przez aplikację wiadomości od peera. Wartość domyślna to „false”. Wstrzymanie gniazda jest zwykle stosowane przez aplikację do ograniczania ilości danych wysyłanych przez jej połączenie równorzędne. Gdy gniazdo jest wstrzymane, nie jest wywoływane żadne zdarzenie onReceive
. Po podłączeniu gniazdka i wznowieniu jego działania zdarzenia onReceive
zostaną podniesione ponownie po odebraniu wiadomości.
Parametry
-
socketId
Liczba
-
wstrzymane
boolean
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:() => void
Akcje powrotne
-
Promise<void>
Chrome 121 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
update()
chrome.sockets.tcp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
Aktualizuje właściwości gniazda.
Parametry
-
socketId
Liczba
Identyfikator gniazda.
-
usługi
Właściwości do zaktualizowania.
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:() => void
Akcje powrotne
-
Promise<void>
Chrome 121 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
Wydarzenia
onReceive
chrome.sockets.tcp.onReceive.addListener(
callback: function,
)
Zdarzenie wywoływane po odebraniu danych z danego gniazda.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(info: ReceiveInfo) => void
-
informacje
-
onReceiveError
chrome.sockets.tcp.onReceiveError.addListener(
callback: function,
)
Zdarzenie zgłaszane, gdy wystąpił błąd sieci, gdy środowisko wykonawcze czekało na dane na podstawie adresu gniazda i portu. Po podniesieniu tego zdarzenia gniazdo jest ustawione na paused
i nie jest już wywoływane to zdarzenie onReceive
.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(info: ReceiveErrorInfo) => void
-
informacje
-