Описание
Используйте API chrome.sockets.tcpServer
для создания серверных приложений, использующих TCP-подключения. Этот API заменяет функциональность TCP, ранее доступную в API chrome.socket
.
Манифест
Типы
AcceptErrorInfo
Характеристики
- resultCode
число
Код результата, возвращенный из базового сетевого вызова.
- socketId
число
Идентификатор сокета сервера.
AcceptInfo
Характеристики
- clientSocketId
число
Идентификатор клиентского сокета, т.е. идентификатор сокета вновь установленного соединения. Этот идентификатор сокета следует использовать только с функциями из пространства имён
chrome.sockets.tcp
. Обратите внимание, что клиентский сокет изначально приостановлен и должен быть явно снят с паузы приложением, чтобы начать получать данные. - socketId
число
Идентификатор сокета сервера.
CreateInfo
Характеристики
- socketId
число
Идентификатор вновь созданного серверного сокета. Обратите внимание, что идентификаторы сокетов, созданные с помощью этого API, несовместимы с идентификаторами сокетов, созданными с помощью других API, например, устаревшего API
[
socket](../socket/)
.
SocketInfo
Характеристики
- локальный адрес
строка необязательная
Если сокет прослушивается, содержит его локальный адрес IPv4/6.
- локальный порт
номер необязательно
Если сокет прослушивается, содержит его локальный порт.
- имя
строка необязательная
Определенная приложением строка, связанная с сокетом.
- приостановлено
булев
Флаг, указывающий, отправляются ли запросы на подключение к прослушиваемому сокету через событие
onAccept
или помещаются в очередь ожидания. См.setPaused
. Значение по умолчанию — «false». - настойчивый
булев
Флаг, указывающий, остаётся ли сокет открытым при выгрузке страницы событий приложения (см.
SocketProperties.persistent
). Значение по умолчанию — «false». - socketId
число
Идентификатор сокета.
SocketProperties
Характеристики
- имя
строка необязательная
Определенная приложением строка, связанная с сокетом.
- настойчивый
логическое необязательное
Флаг, указывающий, остаётся ли сокет открытым при выгрузке страницы событий приложения (см. раздел Управление жизненным циклом приложения ). Значение по умолчанию — «false». После загрузки приложения все сокеты, ранее открытые с параметром persistent=true, можно получить с помощью
getSockets
.
Методы
close()
chrome.sockets.tcpServer.close(
socketId: number,
callback?: function,
): Promise<void>
Отключает и уничтожает сокет. Каждый созданный сокет должен быть закрыт после использования. Идентификатор сокета становится недействительным сразу после вызова функции. Однако сокет гарантированно закрывается только при вызове функции обратного вызова.
Параметры
- socketId
число
Идентификатор сокета.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 121+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
create()
chrome.sockets.tcpServer.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Создает сокет TCP-сервера.
Параметры
- характеристики
SocketProperties необязательны
Свойства сокета (необязательно).
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(createInfo: CreateInfo) => void
- createInfo
Результат создания сокета.
Возврат
Обещание< CreateInfo >
Хром 121+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
disconnect()
chrome.sockets.tcpServer.disconnect(
socketId: number,
callback?: function,
): Promise<void>
Отключает прослушиваемый сокет, то есть прекращает приём новых соединений и освобождает адрес/порт, к которому привязан сокет. Идентификатор сокета остаётся действительным, например, его можно использовать с listen
для приёма соединений на новом порту и адресе.
Параметры
- socketId
число
Идентификатор сокета.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 121+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
getInfo()
chrome.sockets.tcpServer.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Возвращает состояние указанного сокета.
Параметры
- socketId
число
Идентификатор сокета.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(socketInfo: SocketInfo) => void
- socketInfo
Объект, содержащий информацию о сокете.
Возврат
Обещание <SocketInfo>
Хром 121+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
getSockets()
chrome.sockets.tcpServer.getSockets(
callback?: function,
): Promise<SocketInfo[]>
Возвращает список открытых в данный момент сокетов, принадлежащих приложению.
Параметры
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(socketInfos: SocketInfo[]) => void
- socketInfos
SocketInfo []
Массив объектов, содержащий информацию о сокетах.
Возврат
Обещание< SocketInfo []>
Хром 121+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
listen()
chrome.sockets.tcpServer.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
): void
Прослушивает соединения по указанному порту и адресу. Если порт/адрес занят, обратный вызов сообщает об ошибке.
Параметры
- socketId
число
Идентификатор сокета.
- адрес
нить
Адрес локальной машины.
- порт
число
Порт локальной машины. При значении
0
свободный порт выбирается динамически. Динамически выделенный порт можно узнать, вызвавgetInfo
. - отставание
номер необязательно
Длина очереди прослушивания сокета. Значение по умолчанию зависит от операционной системы (SOMAXCONN), что обеспечивает разумную длину очереди для большинства приложений.
- перезвонить
функция
Параметр
callback
выглядит так:(result: number) => void
- результат
число
Код результата, возвращаемый базовым сетевым вызовом. Отрицательное значение указывает на ошибку.
setPaused()
chrome.sockets.tcpServer.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Включает или отключает прием новых подключений прослушивающим сокетом. В состоянии паузы прослушивающий сокет принимает новые подключения до тех пор, пока его очередь (см. функцию listen
) не заполнится, после чего отклоняет дальнейшие запросы на подключение. События onAccept
возникают только после возобновления работы сокета.
Параметры
- socketId
число
- приостановлено
булев
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 121+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
update()
chrome.sockets.tcpServer.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
Обновляет свойства сокета.
Параметры
- socketId
число
Идентификатор сокета.
- характеристики
Свойства для обновления.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 121+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
События
onAccept
chrome.sockets.tcpServer.onAccept.addListener(
callback: function,
)
Событие возникает при установлении соединения с сокетом сервера.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(info: AcceptInfo) => void
- информация
onAcceptError
chrome.sockets.tcpServer.onAcceptError.addListener(
callback: function,
)
Событие возникает при возникновении сетевой ошибки во время ожидания средой выполнения новых подключений по адресу и порту сокета. После возникновения этого события сокет paused
, и события onAccept
для этого сокета больше не генерируются до тех пор, пока он не будет возобновлен.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(info: AcceptErrorInfo) => void
- информация