Opis
Użyj interfejsu chrome.sockets.tcpServer
API, aby tworzyć aplikacje serwerowe korzystające z 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
AcceptErrorInfo
Właściwości
-
resultCode
liczba
Kod wyniku zwrócony z wywołania sieciowego.
-
socketId
liczba
Identyfikator gniazda serwera.
AcceptInfo
Właściwości
-
clientSocketId
liczba
Identyfikator gniazda klienta, czyli identyfikator gniazda nowo utworzonego połączenia. Ten identyfikator gniazda powinien być używany tylko z funkcjami z przestrzeni nazw
chrome.sockets.tcp
. Pamiętaj, że gniazdo klienta jest początkowo wstrzymane i musi zostać wyraźnie odblokowane przez aplikację, aby rozpocząć odbieranie danych. -
socketId
liczba
Identyfikator gniazda serwera.
CreateInfo
Właściwości
-
socketId
liczba
Identyfikator nowo utworzonego gniazda serwera. 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.
SocketInfo
Właściwości
-
localAddress
string opcjonalny
Jeśli gniazdo nasłuchuje, zawiera lokalny adres IPv4/6.
-
localPort
number opcjonalny
Jeśli gniazdo nasłuchuje, 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 żądania połączenia na gnieździe nasłuchującym są wysyłane za pomocą zdarzenia
onAccept
, czy umieszczane w kolejce nasłuchiwania. ZobaczsetPaused
. Wartość domyślna to „false”. -
trwałe,
Wartość logiczna
Flaga wskazująca, czy gniazdo pozostaje otwarte po zamknięciu strony zdarzenia aplikacji (patrz
SocketProperties.persistent
). Wartość domyślna to „false”. -
socketId
liczba
Identyfikator gniazda.
SocketProperties
Właściwości
-
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
.
Metody
close()
chrome.sockets.tcpServer.close(
socketId: number,
callback?: function,
): Promise<void>
Rozłącza i niszczy gniazdo. 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.
create()
chrome.sockets.tcpServer.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Tworzy gniazdo serwera 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.tcpServer.disconnect(
socketId: number,
callback?: function,
): Promise<void>
Odłącza gniazdo nasłuchujące, czyli przestaje akceptować nowe połączenia i zwalnia adres/port, do którego jest przypisane. Identyfikator gniazda pozostaje ważny, np. można go użyć z listen
, aby akceptować połączenia na nowym porcie i adresie.
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.tcpServer.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.tcpServer.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.
listen()
chrome.sockets.tcpServer.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
): void
Nasłuchuje połączeń na określonym porcie i adresie. Jeśli port lub adres jest używany, wywołanie zwrotne wskazuje błąd.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
adres
ciąg znaków
Adres urządzenia lokalnego.
-
port
liczba
Port komputera lokalnego. Jeśli ustawisz tę opcję na
0
, port zostanie wybrany dynamicznie. Dynamicznie przydzielony port można znaleźć, wywołującgetInfo
. -
backlog
number opcjonalny
Długość kolejki nasłuchiwania gniazda. Wartość domyślna zależy od systemu operacyjnego (SOMAXCONN), co zapewnia odpowiednią długość kolejki w przypadku większości aplikacji.
-
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.tcpServer.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Włącza lub wyłącza gniazdo nasłuchujące, aby nie akceptowało nowych połączeń. Gdy gniazdo nasłuchujące jest wstrzymane, akceptuje nowe połączenia, dopóki jego kolejka (patrz funkcja listen
) nie zostanie zapełniona, a potem odrzuca dodatkowe żądania połączenia. Zdarzenia onAccept
są wywoływane tylko wtedy, gdy gniazdo nie jest wstrzymane.
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.tcpServer.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
onAccept
chrome.sockets.tcpServer.onAccept.addListener(
callback: function,
)
Zdarzenie wywoływane po nawiązaniu połączenia z gniazdem serwera.
Parametry
-
callback
funkcja
Parametr
callback
wygląda tak:(info: AcceptInfo) => void
-
informacje
-
onAcceptError
chrome.sockets.tcpServer.onAcceptError.addListener(
callback: function,
)
Zdarzenie wywoływane, gdy podczas oczekiwania środowiska wykonawczego na nowe połączenia na adresie gniazda i porcie wystąpi błąd sieci. Po wywołaniu tego zdarzenia gniazdo jest ustawiane na paused
i nie są wywoływane żadne kolejne zdarzenia onAccept
dla tego gniazda, dopóki nie zostanie ono wznowione.
Parametry
-
callback
funkcja
Parametr
callback
wygląda tak:(info: AcceptErrorInfo) => void
-
informacje
-