Opis
Używaj interfejsu chrome.sockets.tcp
API do wysyłania i odbierania danych przez sieć za pomocą połączeń TCP. Ten interfejs API zastępuje funkcję TCP, która była wcześniej dostępna w interfejsie chrome.socket
API.
Plik manifestu
Typy
CreateInfo
Właściwości
-
socketId
liczba
Identyfikator nowo utworzonego gniazda. Pamiętaj, że identyfikatory gniazd utworzone za pomocą tego interfejsu API nie są zgodne z identyfikatorami gniazd utworzonymi za pomocą innych interfejsów API, np. wycofanego interfejsu
[
socket](../socket/)
API.
DnsQueryType
Ustawienia rozpoznawania nazw DNS. Domyślna wartość to any
. Używa ona bieżącej konfiguracji systemu operacyjnego, która może zwracać adres IPv4 lub IPv6. ipv4
wymusza IPv4, a ipv6
wymusza IPv6.
Typ wyliczeniowy
„any”
"ipv4"
"ipv6"
ReceiveErrorInfo
Właściwości
-
resultCode
liczba
Kod wyniku zwrócony z wywołania sieciowego.
-
socketId
liczba
Identyfikator gniazda.
ReceiveInfo
Właściwości
-
dane
ArrayBuffer
Otrzymane dane o maksymalnym rozmiarze
bufferSize
. -
socketId
liczba
Identyfikator gniazda.
SecureOptions
Właściwości
-
tlsVersion
TLSVersionConstraints opcjonalne
SendInfo
Właściwości
-
bytesSent
number opcjonalny
Liczba wysłanych bajtów (jeśli wynik == 0)
-
resultCode
liczba
Kod wyniku zwrócony z wywołania sieciowego. Wartość ujemna oznacza błąd.
SocketInfo
Właściwości
-
bufferSize
number opcjonalny
Rozmiar bufora używanego do odbierania danych. Jeśli rozmiar bufora nie został określony, wartość nie jest podawana.
-
Podłączono
Wartość logiczna
Flaga z informacją, czy gniazdo jest połączone ze zdalnym urządzeniem.
-
localAddress
string opcjonalny
Jeśli gniazdo bazowe jest połączone, zawiera jego lokalny adres IPv4/6.
-
localPort
number opcjonalny
Jeśli gniazdo bazowe jest połączone, zawiera swój port lokalny.
-
nazwa
string opcjonalny
Ciąg znaków zdefiniowany przez aplikację powiązany z gniazdem.
-
wstrzymana
Wartość logiczna
Flaga wskazująca, czy połączone gniazdo blokuje wysyłanie większej ilości danych przez peer (patrz
setPaused
). -
peerAddress
string opcjonalny
Jeśli gniazdo bazowe jest połączone, zawiera adres peera lub adres IPv4/6.
-
peerPort
number opcjonalny
Jeśli gniazdo bazowe jest połączone, zawiera port urządzenia równorzędnego.
-
trwałe,
Wartość logiczna
Flaga wskazująca, czy gniazdo pozostaje otwarte, gdy aplikacja jest zawieszona (patrz
SocketProperties.persistent
). -
socketId
liczba
Identyfikator gniazda.
SocketProperties
Właściwości
-
bufferSize
number opcjonalny
Rozmiar bufora używanego do odbierania danych. Wartością domyślną jest 4096.
-
nazwa
string opcjonalny
Ciąg znaków zdefiniowany przez aplikację powiązany z gniazdem.
-
trwałe,
wartość logiczna opcjonalna
Flaga wskazująca, czy gniazdo pozostaje otwarte po zamknięciu strony zdarzenia aplikacji (patrz Zarządzanie cyklem życia aplikacji). Wartość domyślna to „false”. Po załadowaniu aplikacji można pobrać wszystkie gniazda otwarte wcześniej z ustawieniem persistent=true za pomocą funkcji
getSockets
.
TLSVersionConstraints
Właściwości
-
maksimum
string opcjonalny
-
min
string opcjonalny
Minimalna i maksymalna akceptowalna wersja TLS. Obsługiwane wartości to
tls1.2
lubtls1.3
.Wartości
tls1
itls1.1
nie są już obsługiwane. Jeśli parametrmin
ma jedną z tych wartości, zostanie on automatycznie ograniczony do wartościtls1.2
. Jeśli parametrmax
ma jedną z tych wartości lub inną nierozpoznaną wartość, zostanie zignorowany.
Metody
close()
chrome.sockets.tcp.close(
socketId: number,
callback?: function,
): Promise<void>
Zamyka gniazdo i zwalnia adres/port, do którego jest ono powiązane. Każde utworzone gniazdo powinno zostać zamknięte po użyciu. Identyfikator gniazda przestaje być ważny natychmiast po wywołaniu funkcji. Gniazdo jest jednak zamykane dopiero po wywołaniu funkcji zwrotnej.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
callback
funkcja opcjonalna
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 121 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
connect()
chrome.sockets.tcp.connect(
socketId: number,
peerAddress: string,
peerPort: number,
dnsQueryType?: DnsQueryType,
callback: function,
): void
Łączy gniazdo ze zdalnym komputerem. Gdy operacja connect
zakończy się pomyślnie, po otrzymaniu danych od urządzenia równorzędnego wywoływane są zdarzenia onReceive
. Jeśli podczas odbierania pakietów przez środowisko wykonawcze wystąpi błąd sieci, zostanie wywołane zdarzenie onReceiveError
. Od tego momentu do czasu wywołania metody resume
dla tego gniazda nie będzie wywoływane żadne zdarzenie onReceive
.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
peerAddress
ciąg znaków
Adres zdalnego urządzenia. Obsługiwane są formaty nazwy DNS, IPv4 i IPv6.
-
peerPort
liczba
Port komputera zdalnego.
-
dnsQueryType
DnsQueryType opcjonalny
Chrome 103 lub nowszaPreferencje dotyczące rozpoznawania adresów.
-
callback
funkcja
Parametr
callback
wygląda tak:(result: number) => void
-
wynik
liczba
Kod wyniku zwrócony z wywołania sieciowego. Wartość ujemna oznacza błąd.
-
create()
chrome.sockets.tcp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Tworzy gniazdo TCP.
Parametry
-
usługi
SocketProperties opcjonalny
Właściwości gniazda (opcjonalne).
-
callback
funkcja opcjonalna
Parametr
callback
wygląda tak:(createInfo: CreateInfo) => void
-
createInfo
Wynik utworzenia gniazda.
-
Zwroty
-
Promise<CreateInfo>
Chrome 121 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
disconnect()
chrome.sockets.tcp.disconnect(
socketId: number,
callback?: function,
): Promise<void>
Odłącza gniazdo.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
callback
funkcja opcjonalna
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 121 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getInfo()
chrome.sockets.tcp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Pobiera stan danego gniazda.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
callback
funkcja opcjonalna
Parametr
callback
wygląda tak:(socketInfo: SocketInfo) => void
-
socketInfo
Obiekt zawierający informacje o gnieździe.
-
Zwroty
-
Promise<SocketInfo>
Chrome 121 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getSockets()
chrome.sockets.tcp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
Pobiera listę aktualnie otwartych gniazd należących do aplikacji.
Parametry
-
callback
funkcja opcjonalna
Parametr
callback
wygląda tak:(socketInfos: SocketInfo[]) => void
-
socketInfos
Tablica obiektów zawierających informacje o gnieździe.
-
Zwroty
-
Promise<SocketInfo[]>
Chrome 121 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
secure()
chrome.sockets.tcp.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
Uruchom połączenie klienta TLS przez połączone gniazdo klienta TCP.
Parametry
-
socketId
liczba
Istniejące, połączone gniazdo do użycia.
-
Opcje
SecureOptions opcjonalny
Ograniczenia i parametry połączenia TLS.
-
callback
funkcja
Parametr
callback
wygląda tak:(result: number) => void
-
wynik
liczba
-
send()
chrome.sockets.tcp.send(
socketId: number,
data: ArrayBuffer,
callback: function,
): void
Wysyła dane na podanym gnieździe TCP.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
dane
ArrayBuffer
Dane do wysłania.
-
callback
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,
): void
Włącza lub wyłącza funkcję keep-alive dla połączenia TCP.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
włącz
Wartość logiczna
Jeśli wartość to „true”, włącz funkcję keep-alive.
-
opóźnienia
number opcjonalny
Ustaw liczbę sekund opóźnienia między ostatnim odebranym pakietem danych a pierwszą sondą keepalive. Wartość domyślna to 0.
-
callback
funkcja
Parametr
callback
wygląda tak:(result: number) => void
-
wynik
liczba
Kod wyniku zwrócony z wywołania sieciowego. Wartość ujemna oznacza błąd.
-
setNoDelay()
chrome.sockets.tcp.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
): void
Ustawia lub usuwa TCP_NODELAY
dla połączenia TCP. Algorytm Nagle'a zostanie wyłączony, gdy ustawiona jest wartość TCP_NODELAY
.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
noDelay
Wartość logiczna
Jeśli ma wartość true, algorytm Nagle'a jest wyłączony.
-
callback
funkcja
Parametr
callback
wygląda tak:(result: number) => void
-
wynik
liczba
Kod wyniku zwrócony z wywołania sieciowego. Wartość ujemna oznacza błąd.
-
setPaused()
chrome.sockets.tcp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Włącza lub wyłącza możliwość odbierania przez aplikację wiadomości od innego użytkownika. Wartość domyślna to „false”. Wstrzymywanie gniazda jest zwykle używane przez aplikację do ograniczania ilości danych wysyłanych przez jej odpowiednik. Gdy gniazdo jest wstrzymane, nie jest wywoływane zdarzenie onReceive
. Gdy gniazdo jest połączone i odwieszone, zdarzenia onReceive
są ponownie wywoływane po otrzymaniu wiadomości.
Parametry
-
socketId
liczba
-
wstrzymana
Wartość logiczna
-
callback
funkcja opcjonalna
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 121 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
update()
chrome.sockets.tcp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
Aktualizuje właściwości gniazda.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
usługi
Właściwości do zaktualizowania.
-
callback
funkcja opcjonalna
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 121 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
Wydarzenia
onReceive
chrome.sockets.tcp.onReceive.addListener(
callback: function,
)
Zdarzenie wywoływane po otrzymaniu danych dla danego gniazda.
Parametry
-
callback
funkcja
Parametr
callback
wygląda tak:(info: ReceiveInfo) => void
-
informacje
-
onReceiveError
chrome.sockets.tcp.onReceiveError.addListener(
callback: function,
)
Zdarzenie wywoływane, gdy podczas oczekiwania środowiska wykonawczego na dane na adresie gniazda i porcie wystąpi błąd sieci. Po wywołaniu tego zdarzenia gniazdo jest ustawiane na paused
i nie są już wywoływane żadne zdarzenia onReceive
dla tego gniazda.
Parametry
-
callback
funkcja
Parametr
callback
wygląda tak:(info: ReceiveErrorInfo) => void
-
informacje
-