Description
Use the chrome.sockets.tcpServer API to create server applications using TCP connections. This API supersedes the TCP functionality previously found in the chrome.socket API.
Manifest
Types
AcceptErrorInfo
Properties
-
resultCode
number
The result code returned from the underlying network call.
-
socketId
number
The server socket identifier.
AcceptInfo
Properties
-
clientSocketId
number
The client socket identifier, i.e. the socket identifier of the newly established connection. This socket identifier should be used only with functions from the
chrome.sockets.tcpnamespace. Note the client socket is initially paused and must be explicitly un-paused by the application to start receiving data. -
socketId
number
The server socket identifier.
CreateInfo
Properties
-
socketId
number
The ID of the newly created server socket. Note that socket IDs created from this API are not compatible with socket IDs created from other APIs, such as the deprecated
[socket](../socket/)API.
SocketInfo
Properties
-
localAddress
string optional
If the socket is listening, contains its local IPv4/6 address.
-
localPort
number optional
If the socket is listening, contains its local port.
-
name
string optional
Application-defined string associated with the socket.
-
paused
boolean
Flag indicating whether connection requests on a listening socket are dispatched through the
onAcceptevent or queued up in the listen queue backlog. SeesetPaused. The default value is "false". -
persistent
boolean
Flag indicating if the socket remains open when the event page of the application is unloaded (see
SocketProperties.persistent). The default value is "false". -
socketId
number
The socket identifier.
SocketProperties
Properties
-
name
string optional
An application-defined string associated with the socket.
-
persistent
boolean optional
Flag indicating if the socket remains open when the event page of the application is unloaded (see Manage App Lifecycle). The default value is "false". When the application is loaded, any sockets previously opened with persistent=true can be fetched with
getSockets.
Methods
close()
chrome.sockets.tcpServer.close(
socketId: number,
callback?: function,
): Promise<void>
Disconnects and destroys the socket. Each socket created should be closed after use. The socket id is no longer valid as soon at the function is called. However, the socket is guaranteed to be closed only when the callback is invoked.
Parameters
-
socketId
number
The socket identifier.
-
callback
function optional
The
callbackparameter looks like:() => void
Returns
-
Promise<void>
Chrome 121+Promises are only supported for Manifest V3 and later, other platforms need to use callbacks.
create()
chrome.sockets.tcpServer.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Creates a TCP server socket.
Parameters
-
properties
SocketProperties optional
The socket properties (optional).
-
callback
function optional
The
callbackparameter looks like:(createInfo: CreateInfo) => void
-
createInfo
The result of the socket creation.
-
Returns
-
Promise<CreateInfo>
Chrome 121+Promises are only supported for Manifest V3 and later, other platforms need to use callbacks.
disconnect()
chrome.sockets.tcpServer.disconnect(
socketId: number,
callback?: function,
): Promise<void>
Disconnects the listening socket, i.e. stops accepting new connections and releases the address/port the socket is bound to. The socket identifier remains valid, e.g. it can be used with listen to accept connections on a new port and address.
Parameters
-
socketId
number
The socket identifier.
-
callback
function optional
The
callbackparameter looks like:() => void
Returns
-
Promise<void>
Chrome 121+Promises are only supported for Manifest V3 and later, other platforms need to use callbacks.
getInfo()
chrome.sockets.tcpServer.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Retrieves the state of the given socket.
Parameters
-
socketId
number
The socket identifier.
-
callback
function optional
The
callbackparameter looks like:(socketInfo: SocketInfo) => void
-
socketInfo
Object containing the socket information.
-
Returns
-
Promise<SocketInfo>
Chrome 121+Promises are only supported for Manifest V3 and later, other platforms need to use callbacks.
getSockets()
chrome.sockets.tcpServer.getSockets(
callback?: function,
): Promise<SocketInfo[]>
Retrieves the list of currently opened sockets owned by the application.
Parameters
-
callback
function optional
The
callbackparameter looks like:(socketInfos: SocketInfo[]) => void
-
socketInfos
Array of object containing socket information.
-
Returns
-
Promise<SocketInfo[]>
Chrome 121+Promises are only supported for Manifest V3 and later, other platforms need to use callbacks.
listen()
chrome.sockets.tcpServer.listen(
socketId: number,
address