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