Описание
Используйте API chrome.sockets.tcp, чтобы отправлять и получать данные по сети через TCP-подключения. Этот API заменяет функции TCP, которые ранее были доступны в API chrome.socket.
Манифест
Типы
CreateInfo
Свойства
-
socketId
число
Идентификатор созданного сокета. Обратите внимание, что идентификаторы сокетов, созданные с помощью этого API, несовместимы с идентификаторами сокетов, созданными с помощью других API, например устаревшего API
[socket](../socket/).
DnsQueryType
Настройки DNS-преобразования. По умолчанию используется значение any и текущая конфигурация ОС, которая может возвращать IPv4 или IPv6. ipv4 принудительно использует IPv4, а ipv6 – IPv6.
Перечисление
"any"
"ipv4"
"ipv6"
ReceiveErrorInfo
Свойства
-
resultCode
число
Код результата, возвращенный из базового сетевого вызова.
-
socketId
число
Идентификатор сокета.
ReceiveInfo
Свойства
-
делал.
ArrayBuffer
Полученные данные. Максимальный размер –
bufferSize. -
socketId
число
Идентификатор сокета.
SecureOptions
Свойства
-
tlsVersion
TLSVersionConstraints необязательно
SendInfo
Свойства
-
bytesSent
number (необязательно)
Количество отправленных байтов (если result == 0).
-
resultCode
число
Код результата, возвращенный из базового сетевого вызова. Отрицательное значение указывает на ошибку.
SocketInfo
Свойства
-
bufferSize
number (необязательно)
Размер буфера, используемого для получения данных. Если размер буфера не указан явно, значение не предоставляется.
-
подключено
Логическое значение
Флаг, указывающий, подключен ли сокет к удаленному узлу.
-
localAddress
Строка (необязательно)
Если базовый сокет подключен, содержит его локальный адрес IPv4/6.
-
localPort
number (необязательно)
Если базовый сокет подключен, содержит его локальный порт.
-
name
Строка (необязательно)
Строка, определенная приложением и связанная с сокетом.
-
приостановлено
Логическое значение
Флаг, указывающий, блокирует ли подключенный сокет отправку дополнительных данных одноранговым узлом (см.
setPaused). -
peerAddress
Строка (необязательно)
Если базовый сокет подключен, содержит адрес IPv4/6.
-
peerPort
number (необязательно)
Если базовый сокет подключен, содержит порт узла.
-
постоянный
Логическое значение
Флаг, указывающий, остается ли сокет открытым, когда приложение приостановлено (см.
SocketProperties.persistent). -
socketId
число
Идентификатор сокета.
SocketProperties
Свойства
-
bufferSize
number (необязательно)
Размер буфера, используемого для получения данных. Значение по умолчанию – 4096.
-
name
Строка (необязательно)
Определенная приложением строка, связанная с сокетом.
-
постоянный
Логическое значение (необязательно)
Флаг, указывающий, остается ли сокет открытым, когда страница событий приложения выгружается (см. раздел Управление жизненным циклом приложения). Значение по умолчанию – false. При загрузке приложения любые сокеты, ранее открытые с параметром persistent=true, можно получить с помощью
getSockets.
TLSVersionConstraints
Свойства
-
Функция max
Строка (необязательно)
-
мин.
Строка (необязательно)
Минимальная и максимальная допустимые версии TLS. Допустимые значения:
tls1.2иtls1.3.Значения
tls1иtls1.1больше не поддерживаются. Если для правилаminзадано одно из этих значений, оно будет автоматически заменено наtls1.2. Если для параметраmaxзадано одно из этих значений или любое другое нераспознанное значение, оно будет игнорироваться.
Методы
close()
chrome.sockets.tcp.close(
socketId: number,
callback?: function,
): Promise<void>
Закрывает сокет и освобождает адрес/порт, к которому он привязан. Каждый созданный сокет должен быть закрыт после использования. Идентификатор сокета перестает быть действительным сразу после вызова функции. Однако сокет гарантированно закрывается только при вызове обратного вызова.
Параметры
-
socketId
число
Идентификатор сокета.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 121 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
connect()
chrome.sockets.tcp.connect(
socketId: number,
peerAddress: string,
peerPort: number,
dnsQueryType?: DnsQueryType,
callback: function,
): void
Подключает сокет к удаленному компьютеру. Когда операция connect завершается успешно, при получении данных от другого игрока генерируются события onReceive. Если во время получения пакетов средой выполнения возникает ошибка сети, генерируется событие onReceiveError. После этого для сокета не будут генерироваться события onReceive, пока не будет вызван метод resume.
Параметры
-
socketId
число
Идентификатор сокета.
-
peerAddress
string
Адрес удаленного компьютера. Поддерживаются DNS-имена, а также форматы IPv4 и IPv6.
-
peerPort
число
Порт удаленного компьютера.
-
dnsQueryType
DnsQueryType необязательный
Chrome 103 и более поздних версий;Предпочтительный способ разрешения адресов.
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(result: number) => void
-
Результат
число
Код результата, возвращенный из базового сетевого вызова. Отрицательное значение указывает на ошибку.
-
create()
chrome.sockets.tcp.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.tcp.disconnect(
socketId: number,
callback?: function,
): Promise<void>
Отключает сокет.
Параметры
-
socketId
число
Идентификатор сокета.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 121 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
getInfo()
chrome.sockets.tcp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Получает состояние указанного сокета.
Параметры
-
socketId
число
Идентификатор сокета.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(socketInfo: SocketInfo) => void
-
socketInfo
Объект, содержащий информацию о сокете.
-
Возвраты
-
Promise<SocketInfo>
Chrome 121 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
getSockets()
chrome.sockets.tcp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
Получает список открытых сокетов, принадлежащих приложению.
Параметры
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(socketInfos: SocketInfo[]) => void
-
socketInfos
Массив объектов, содержащих информацию о сокетах.
-
Возвраты
-
Promise<SocketInfo[]>
Chrome 121 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
secure()
chrome.sockets.tcp.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
Запустите клиентское подключение TLS через подключенный клиентский сокет TCP.
Параметры
-
socketId
число
Существующий подключенный сокет, который нужно использовать.
-
Параметры
SecureOptions необязательный
Ограничения и параметры для TLS-подключения.
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(result: number) => void
-
Результат
число
-
send()
chrome.sockets.tcp.send(
socketId: number,
data: ArrayBuffer,
callback: function,
): void
Отправляет данные через указанный сокет TCP.
Параметры
-
socketId
число
Идентификатор сокета.
-
делал.
ArrayBuffer
Данные для отправки.
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(sendInfo: SendInfo) => void
-
sendInfo
Результат метода
send.
-
setKeepAlive()
chrome.sockets.tcp.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
): void
Включает или отключает функцию поддержания активности для TCP-подключения.
Параметры
-
socketId
число
Идентификатор сокета.
-
Включить
Логическое значение
Если задано значение True, функция Keep-Alive включена.
-
delay
number (необязательно)
Укажите задержку в секундах между последним полученным пакетом данных и первым запросом на поддержание соединения. По умолчанию используется значение 0.
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(result: number) => void
-
Результат
число
Код результата, возвращенный из базового сетевого вызова. Отрицательное значение указывает на ошибку.
-
setNoDelay()
chrome.sockets.tcp.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
): void
Задает или удаляет TCP_NODELAY для TCP-подключения. Если задано значение TCP_NODELAY, алгоритм Нагла будет отключен.
Параметры
-
socketId
число
Идентификатор сокета.
-
noDelay
Логическое значение
Если задано значение true, алгоритм Нейгла отключается.
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(result: number) => void
-
Результат
число
Код результата, возвращенный из базового сетевого вызова. Отрицательное значение указывает на ошибку.
-
setPaused()
chrome.sockets.tcp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Включает или отключает получение сообщений от однорангового узла. Значение по умолчанию – false. Приостановка сокета обычно используется приложением для регулирования данных, отправляемых его одноранговым узлом. Когда сокет приостановлен, событие onReceive не вызывается. Когда сокет подключен и не приостановлен, события onReceive снова генерируются при получении сообщений.
Параметры
-
socketId
число
-
приостановлено
Логическое значение
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 121 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
update()
chrome.sockets.tcp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
Обновляет свойства сокета.
Параметры
-
socketId
число
Идентификатор сокета.
-
объекты
Свойства, которые нужно обновить.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 121 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
События
onReceive
chrome.sockets.tcp.onReceive.addListener(
callback: function,
)
Событие, которое происходит при получении данных для определенного сокета.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(info: ReceiveInfo) => void
-
информация
-
onReceiveError
chrome.sockets.tcp.onReceiveError.addListener(
callback: function,
)
Событие возникает, когда при ожидании данных на адресе сокета и порте происходит ошибка сети. После этого сокету присваивается значение paused и события onReceive для него больше не генерируются.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(info: ReceiveErrorInfo) => void
-
информация
-