Opis
Używaj interfejsu API chrome.socket do wysyłania i odbierania danych przez sieć za pomocą połączeń TCP i UDP. Uwaga: od wersji Chrome 33 ten interfejs API jest wycofany na rzecz interfejsów API sockets.udp, sockets.tcp i sockets.tcpServer.
Uprawnienia
socketTypy
AcceptInfo
Właściwości
-
resultCode
liczba
-
socketId
number optional
Identyfikator zaakceptowanego gniazda.
CreateInfo
Właściwości
-
socketId
liczba
Identyfikator nowo utworzonego gniazda.
CreateOptions
NetworkInterface
Właściwości
-
adres
tekst
Dostępny adres IPv4/6.
-
nazwa
tekst
Nazwa karty. W systemach *nix będzie to zwykle „eth0”, „lo” itp.
-
prefixLength
liczba
długość prefiksu,
ReadInfo
Właściwości
-
dane
ArrayBuffer
-
resultCode
liczba
Wartość resultCode zwrócona przez wywołanie read().
RecvFromInfo
Właściwości
-
adres
tekst
Adres komputera zdalnego.
-
dane
ArrayBuffer
-
port
liczba
-
resultCode
liczba
Kod wyniku zwrócony z wywołania recvfrom().
SecureOptions
Właściwości
-
tlsVersion
TLSVersionConstraints opcjonalne
SocketInfo
Właściwości
-
Połączono
wartość logiczna
Określa, czy bazowe gniazdo jest połączone.
W przypadku gniazd
tcpbędzie to prawdą nawet wtedy, gdy zdalny węzeł zostanie rozłączony. Odczyt lub zapis w gnieździe może spowodować błąd, co oznacza, że gniazdo powinno zostać odłączone za pomocądisconnect().W przypadku gniazd
udpoznacza to, czy określono domyślny adres zdalny do odczytu i zapisu pakietów. -
localAddress
ciąg znaków opcjonalny
Jeśli powiązane gniazdo jest powiązane lub połączone, zawiera lokalny adres IPv4/6.
-
localPort
number optional
Jeśli gniazdo bazowe jest powiązane lub połączone, zawiera port lokalny.
-
peerAddress
ciąg znaków opcjonalny
Jeśli bazowe gniazdo jest połączone, zawiera adres IPv4/6 peera.
-
peerPort
number optional
Jeśli bazowe gniazdo jest połączone, zawiera port połączonego peera.
-
socketType
Typ przekazanego gniazda. Będzie to
tcplubudp.
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 TLS. Obsługiwane wartości to
tls1.2lubtls1.3.Wartości
tls1itls1.1nie są już obsługiwane. Jeśli zasadaminjest ustawiona na jedną z tych wartości, zostanie ona automatycznie zmieniona natls1.2. Jeśli zasadamaxjest ustawiona na jedną z tych wartości lub inną nierozpoznaną wartość, zostanie ona zignorowana bez powiadomienia.
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,
): void
Ta metoda dotyczy tylko gniazd TCP. Rejestruje wywołanie zwrotne, które ma zostać wywołane, gdy połączenie zostanie zaakceptowane w tym gnieździe serwera nasłuchującego. Najpierw należy wywołać metodę Listen. Jeśli istnieje już aktywne wywołanie zwrotne akceptacji, zostanie ono natychmiast wywołane z błędem jako resultCode.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
callback
funkcja
Parametr
callbackwygląda tak:(acceptInfo: AcceptInfo) => void
-
acceptInfo
-
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
Wiąże adres lokalny z gniazdem. Obecnie nie obsługuje gniazda TCP.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
adres
tekst
Adres urządzenia lokalnego.
-
port
liczba
Port komputera lokalnego.
-
callback
funkcja
Parametr
callbackwygląda tak:(result: number) => void
-
wynik
liczba
-
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
): void
Łączy gniazdo z maszyną zdalną (w przypadku gniazda tcp). W przypadku gniazda udp ustawia domyślny adres, na który są wysyłane pakiety i z którego są odczytywane w przypadku wywołań read() i write().
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
nazwa hosta
tekst
Nazwa hosta lub adres IP komputera zdalnego.
-
port
liczba
Port komputera zdalnego.
-
callback
funkcja
Parametr
callbackwygląda tak:(result: number) => void
-
wynik
liczba
-
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
): Promise<CreateInfo>
Tworzy gniazdo określonego typu, które połączy się z określonym komputerem zdalnym.
Parametry
-
typ
Typ gniazda, które ma zostać utworzone. Musi to być
tcplubudp. -
Opcje
CreateOptions opcjonalne
Opcje gniazda.
-
callback
function opcjonalne
Parametr
callbackwygląda tak:(createInfo: CreateInfo) => void
-
createInfo
-
Zwroty
-
Promise<CreateInfo>
Chrome 121 lub nowsza wersjaObiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
destroy()
chrome.socket.destroy(
socketId: number,
): void
Niszczy gniazdo. Każde utworzone gniazdo powinno zostać zniszczone po użyciu.
Parametry
-
socketId
liczba
Identyfikator gniazda.
disconnect()
chrome.socket.disconnect(
socketId: number,
): void
Rozłącza gniazdo. W przypadku gniazd UDP disconnect nie jest operacją, ale można ją bezpiecznie wywołać.
Parametry
-
socketId
liczba
Identyfikator gniazda.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Pobiera stan danego gniazda.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
callback
function opcjonalne
Parametr
callbackwygląda tak:(result: SocketInfo) => void
-
wynik
-
Zwroty
-
Promise<SocketInfo>
Chrome 121 lub nowsza wersjaObiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
): void
Pobiera adresy grup multicast, do których gniazdo jest obecnie dołączone.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
callback
funkcja
Parametr
callbackwygląda tak:(groups: string[]) => void
-
grupy
string[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
): Promise<NetworkInterface[]>
Pobiera informacje o lokalnych adapterach w tym systemie.
Parametry
-
callback
function opcjonalne
Parametr
callbackwygląda tak:(result: NetworkInterface[]) => void
-
wynik
-
Zwroty
-
Promise<NetworkInterface[]>
Chrome 121 lub nowsza wersjaObiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
): void
Dołącz do grupy multiemisji i zacznij odbierać pakiety z tej grupy. Przed wywołaniem tej metody gniazdo musi być typu UDP i musi być powiązane z portem lokalnym.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
adres
tekst
Adres grupy, do której chcesz dołączyć. Nazwy domen nie są obsługiwane.
-
callback
funkcja
Parametr
callbackwygląda tak:(result: number) => void
-
wynik
liczba
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
Opuść grupę multicast, do której wcześniej dołączono za pomocą joinGroup. Nie trzeba opuszczać grupy multicast przed zniszczeniem gniazda lub wyjściem. Jest on automatycznie wywoływany przez system operacyjny.
Opuszczenie grupy uniemożliwi routerowi wysyłanie datagramów multicast do hosta lokalnego, zakładając, że żaden inny proces na hoście nie jest nadal połączony z grupą.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
adres
tekst
Adres grupy, którą chcesz opuścić. Nazwy domen nie są obsługiwane.
-
callback
funkcja
Parametr
callbackwygląda tak:(result: number) => void
-
wynik
liczba
-
listen()
chrome.socket.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
): void
Ta metoda dotyczy tylko gniazd TCP. Nasłuchuje połączeń na określonym porcie i adresie. W ten sposób gniazdo staje się gniazdem serwera, a funkcje gniazda klienta (połączenie, odczyt, zapis) nie mogą już być na nim używane.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
adres
tekst
Adres urządzenia lokalnego.
-
port
liczba
Port komputera lokalnego.
-
zaległości
number optional
Długość kolejki nasłuchiwania gniazda.
-
callback
funkcja
Parametr
callbackwygląda tak:(result: number) => void
-
wynik
liczba
-
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
): void
Odczytuje dane z podanego połączonego gniazda.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
bufferSize
number optional
Rozmiar bufora odczytu.
-
callback
funkcja
Parametr
callbackwygląda tak:(readInfo: ReadInfo) => void
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
): void
Odbiera dane z danego gniazda UDP.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
bufferSize
number optional
Rozmiar bufora odbioru.
-
callback
funkcja
Parametr
callbackwygląda tak:(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
Nawiąż połączenie klienta TLS przez połączone gniazdo klienta TCP.
Parametry
-
socketId
liczba
Połączone gniazdo, którego chcesz użyć.
-
Opcje
SecureOptions opcjonalny
Ograniczenia i parametry połączenia TLS.
-
callback
funkcja
Parametr
callbackwygląda tak:(result: number) => void
-
wynik
liczba
-
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
): void
Wysyła dane z podanego gniazda UDP na podany adres i port.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
dane
ArrayBuffer
Dane do zapisania.
-
adres
tekst
Adres komputera zdalnego.
-
port
liczba
Port komputera zdalnego.
-
callback
funkcja
Parametr
callbackwygląda tak:(writeInfo: WriteInfo) => void
-
writeInfo
-
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
): void
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, włącz funkcję utrzymywania połączenia.
-
opóźnienia
number optional
Ustaw opóźnienie w sekundach między ostatnim odebranym pakietem danych a pierwszą próbą utrzymania połączenia. Wartość domyślna to 0.
-
callback
funkcja
Parametr
callbackwygląda tak:(result: boolean) => void
-
wynik
wartość logiczna
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
): void
Określ, czy pakiety multicast wysyłane z hosta do grupy multicast będą zapętlane z powrotem do hosta.
Uwaga: działanie setMulticastLoopbackMode różni się nieco w systemach Windows i Unix. Niespójność występuje tylko wtedy, gdy na tym samym hoście jest więcej niż 1 aplikacja dołączona do tej samej grupy multicast, ale z różnymi ustawieniami trybu sprzężenia zwrotnego multicast. W systemie Windows aplikacje z wyłączonym sprzężeniem zwrotnym nie będą ODBIERAĆ pakietów sprzężenia zwrotnego, natomiast w systemach uniksopodobnych aplikacje z wyłączonym sprzężeniem zwrotnym nie będą WYSYŁAĆ pakietów sprzężenia zwrotnego do innych aplikacji na tym samym hoście. Zobacz MSDN: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2
Wywołanie tej metody nie wymaga uprawnień do multiemisji.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
aktywne
wartość logiczna
Wskaż, czy chcesz włączyć tryb sprzężenia zwrotnego.
-
callback
funkcja
Parametr
callbackwygląda tak:(result: number) => void
-
wynik
liczba
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
Ustaw czas życia pakietów multicast wysyłanych do grupy multicast.
Wywołanie tej metody nie wymaga uprawnień do multiemisji.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
ttl
liczba
Wartość czasu życia.
-
callback
funkcja
Parametr
callbackwygląda tak:(result: number) => void
-
wynik
liczba
-
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
): void
Ustawia lub usuwa TCP_NODELAY dla połączenia TCP. Gdy ustawiona jest wartość TCP_NODELAY, algorytm Nagle'a jest wyłączony.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
noDelay
wartość logiczna
Jeśli ma wartość Prawda, wyłącza algorytm Nagle'a.
-
callback
funkcja
Parametr
callbackwygląda tak:(result: boolean) => void
-
wynik
wartość logiczna
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
): void
Zapisuje dane w podanym połączonym gnieździe.