Opis
Używaj interfejsu chrome.socket
API do wysyłania i odbierania danych w sieci przez połączenia TCP i UDP. Uwaga: od Chrome 33 ten interfejs API został wycofany i zastąpiony interfejsami API sockets.udp
, sockets.tcp
i 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
string,
Dostępny adres IPv4/6.
-
nazwa
string,
Podstawowa nazwa adaptera. W przypadku *nix zwykle będzie to „eth0”, „lo” itp.
-
prefixLength
Liczba
Długość prefiksu
ReadInfo
Właściwości
-
dane
ArrayBuffer
-
resultCode
Liczba
Kod wyniku zwrócony z bazowego wywołania read().
RecvFromInfo
Właściwości
-
adres
string,
Adres komputera zdalnego.
-
dane
ArrayBuffer
-
port
Liczba
-
resultCode
Liczba
Wynikowy kod wyniku zwrócony przez bazowe wywołanie recvfrom().
SecureOptions
Właściwości
-
tlsVersion
Opcjonalne TLSVersionConstraints
SocketInfo
Właściwości
-
Połączono
boolean
Wskazuje, czy podstawowe gniazdo jest podłączone.
W przypadku gniazd
tcp
to ustawienie obowiązuje nawet wtedy, gdy zdalny połączenie równorzędne się rozłączy. W związku z tym odczyt lub zapis w gnieździe może spowodować błąd i wskazać, że należy je odłączyć przezdisconnect()
.W przypadku gniazd
udp
wskazuje tylko, czy został określony domyślny adres zdalny do odczytu i zapisywania 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 podłączone, zawiera jego port lokalny.
-
peerAddress
ciąg znaków opcjonalny
Jeśli bazowe gniazdo jest podłączone, zawiera adres IPv4/6 połączenia równorzędnego.
-
peerPort
Liczba opcjonalnie
Jeśli podstawowe gniazdo jest podłączone, zawiera port drugiego peera.
-
socketType
Typ przekazanego gniazda. To będzie
tcp
lubudp
.
SocketType
Enum
"tcp"
"udp"
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.
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 zostanie wywołana po zaakceptowaniu połączenia przez to gniazdo serwera nasłuchującego. Najpierw należy wywołać nasłuchiwanie. Jeśli istnieje już aktywne wywołanie zwrotne zatwierdzające, to wywołanie zwrotne zostanie natychmiast wywołane z błędem jako wynikiem kodu.
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 adres lokalny gniazda. Obecnie nie obsługuje on gniazd TCP.
Parametry
-
socketId
Liczba
Identyfikator gniazda.
-
adres
string,
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 gniazdka do komputera zdalnego (w przypadku gniazdka tcp
). W przypadku gniazda udp
ta opcja ustawia domyślny adres, do którego pakiety są wysyłane i odczytywane w przypadku wywołań funkcji read()
i write()
.
Parametry
-
socketId
Liczba
Identyfikator gniazda.
-
nazwa hosta
string,
Nazwa hosta lub adres IP komputera zdalnego.
-
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 określoną maszyną zdalną.
Parametry
-
typ
Typ gniazda do utworzenia. Musi to być wartość
tcp
lubudp
. -
Opcje
Opcjonalnie CreateOptions
Opcje gniazd.
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(createInfo: CreateInfo) => void
-
createInfo
-
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.
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 interfejs disconnect
nie jest obsługiwany, ale można go 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 opcjonalnie
Parametr
callback
wygląda tak:(result: SocketInfo) => void
-
wynik
-
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.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
)
Pobierz adresy grupy połączeń grupowych, do których gniazdo jest obecnie przyłączone.
Parametry
-
socketId
Liczba
Identyfikator gniazda.
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(groups: string[]) => void
-
grupy
string[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
)
Pobiera informacje o adapterach lokalnych w tym systemie.
Parametry
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(result: NetworkInterface[]) => void
-
wynik
-
Akcje powrotne
-
Promise<NetworkInterface[]>
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.
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
)
Dołącz do grupy multiemisji i zacznij otrzymywać pakiety z tej grupy. Gniazdo musi być typu UDP i musi być powiązane z portem lokalnym przed wywołaniem tej metody.
Parametry
-
socketId
Liczba
Identyfikator gniazda.
-
adres
string,
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ę multiemisji, która wcześniej dołączyła, korzystając z joinGroup
. Nie musisz opuszczać grupy multiemisji przed zniszczeniem gniazda ani jego wyjściem. Jest ona automatycznie wywoływana przez system operacyjny.
Jeśli opuścisz grupę, router nie będzie mógł wysyłać datagramów multiemisji do hosta lokalnego, przy założeniu, że żaden inny proces na hoście nie będzie nadal dołączony do grupy.
Parametry
-
socketId
Liczba
Identyfikator gniazda.
-
adres
string,
Adres grupy do opuszczenia. 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. Wykrywa połączenia na określonym porcie i adresie. Dzięki temu jest to gniazdo serwera i nie można w nim już używać funkcji gniazda klienta (łączenia, odczytu i zapisu).
Parametry
-
socketId
Liczba
Identyfikator gniazda.
-
adres
string,
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,
)
Odczyt danych z danego podłączonego gniazdka.
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 podanego 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,
)
Nawiąż połączenie z klientem TLS przez podłączone gniazdo klienta TCP.
Parametry
-
socketId
Liczba
Podłączone gniazdo, które ma być używane.
-
Opcje
Opcjonalny 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 w podanym gniazdu UDP do podanego adresu i portu.
Parametry
-
socketId
Liczba
Identyfikator gniazda.
-
dane
ArrayBuffer
Dane do zapisu.
-
adres
string,
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 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: boolean) => void
-
wynik
boolean
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
Określ, czy pakiety multiemisji wysyłane z hosta do grupy transmisji multiemisji są zapętlone z powrotem do hosta.
Uwaga: setMulticastLoopbackMode
działa nieco inaczej w systemach Windows i uniksowych. Niespójność występuje tylko wtedy, gdy na tym samym hoście jest więcej niż jedna aplikacja na tym samym hoście przyłączona do tej samej grupy transmisji multiemisji i gdy różne ustawienia w trybie pętli wielu transmisji są różne. W systemie Windows aplikacje z wyłączonym sprzężeniem zwrotnym nie będą otrzymywały pakietów loopback. W systemach takich jak uniksowe aplikacje z wyłączonym sprzężeniem zwrotnym nie będą WYSŁAĆ pakietów do innych aplikacji korzystających z tego samego hosta. Numer MSDN: http://goo.gl/6vqbj
Wywołanie tej metody nie wymaga uprawnień multiemisji.
Parametry
-
socketId
Liczba
Identyfikator gniazda.
-
włączone
boolean
Określ, czy chcesz włączyć tryb zapętlenia.
-
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 multiemisji wysyłanych do grupy multiemisji.
Wywołanie tej metody nie wymaga uprawnień multiemisji.
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,
)
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: boolean) => void
-
wynik
boolean
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
)
Zapisuje dane w danym połączonym gniazdku.