chrome.sockets.udp
Description: |
Use the chrome.sockets.udp API to send and receive data over the
network using UDP connections. This API supersedes the UDP functionality
previously found in the "socket" API.
|
Availability: |
Since Chrome 35.
|
Manifest: |
"sockets": {...}
|
Summary
Types | |
---|---|
SocketProperties | |
SocketInfo | |
Methods | |
create −
chrome.sockets.udp.create( SocketProperties properties, function callback)
| |
update −
chrome.sockets.udp.update(integer socketId, SocketProperties properties, function callback)
| |
setPaused −
chrome.sockets.udp.setPaused(integer socketId, boolean paused, function callback)
| |
bind −
chrome.sockets.udp.bind(integer socketId, string address, integer port, function callback)
| |
send −
chrome.sockets.udp.send(integer socketId, ArrayBuffer data, string address, integer port, function callback)
| |
close −
chrome.sockets.udp.close(integer socketId, function callback)
| |
getInfo −
chrome.sockets.udp.getInfo(integer socketId, function callback)
| |
getSockets −
chrome.sockets.udp.getSockets(function callback)
| |
joinGroup −
chrome.sockets.udp.joinGroup(integer socketId, string address, function callback)
| |
leaveGroup −
chrome.sockets.udp.leaveGroup(integer socketId, string address, function callback)
| |
setMulticastTimeToLive −
chrome.sockets.udp.setMulticastTimeToLive(integer socketId, integer ttl, function callback)
| |
setMulticastLoopbackMode −
chrome.sockets.udp.setMulticastLoopbackMode(integer socketId, boolean enabled, function callback)
| |
getJoinedGroups −
chrome.sockets.udp.getJoinedGroups(integer socketId, function callback)
| |
setBroadcast −
chrome.sockets.udp.setBroadcast(integer socketId, boolean enabled, function callback)
| |
Events | |
onReceive | |
onReceiveError |
Types
SocketProperties
properties | ||
---|---|---|
boolean | (optional) persistent |
Flag indicating if the socket is left 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 |
string | (optional) name |
An application-defined string associated with the socket. |
integer | (optional) bufferSize |
The size of the buffer used to receive data. If the buffer is too small to receive the UDP packet, data is lost. The default value is 4096. |
SocketInfo
properties | ||
---|---|---|
integer | socketId |
The socket identifier. |
boolean | persistent |
Flag indicating whether the socket is left open when the application is suspended (see |
string | (optional) name |
Application-defined string associated with the socket. |
integer | (optional) bufferSize |
The size of the buffer used to receive data. If no buffer size has been specified explictly, the value is not provided. |
boolean | paused |
Flag indicating whether the socket is blocked from firing onReceive events. |
string | (optional) localAddress |
If the underlying socket is bound, contains its local IPv4/6 address. |
integer | (optional) localPort |
If the underlying socket is bound, contains its local port. |
Methods
create
chrome.sockets.udp.create( SocketProperties properties, function callback)
Creates a UDP socket with the given properties.
Parameters | ||||||||
---|---|---|---|---|---|---|---|---|
SocketProperties | (optional) properties |
The socket properties (optional). |
||||||
function | callback |
Called when the socket has been created. The callback parameter should be a function that looks like this: function(object createInfo) {...};
|
update
chrome.sockets.udp.update(integer socketId, SocketProperties properties, function callback)
Updates the socket properties.
Parameters | ||
---|---|---|
integer | socketId |
The socket ID. |
SocketProperties | properties |
The properties to update. |
function | (optional) callback |
Called when the properties are updated. If you specify the callback parameter, it should be a function that looks like this: function() {...};
|
setPaused
chrome.sockets.udp.setPaused(integer socketId, boolean paused, function callback)
Pauses or unpauses a socket. A paused socket is blocked from firing onReceive
events.
Parameters | ||
---|---|---|
integer | socketId | |
boolean | paused |
Flag to indicate whether to pause or unpause. |
function | (optional) callback |
Called when the socket has been successfully paused or unpaused. If you specify the callback parameter, it should be a function that looks like this: function() {...};
|
bind
chrome.sockets.udp.bind(integer socketId, string address, integer port, function callback)
Binds the local address and port for the socket. For a client socket, it is recommended to use port 0 to let the platform pick a free port.
Once the bind
operation completes successfully, onReceive
events are raised when UDP packets arrive on the address/port specified -- unless the socket is paused.
Parameters | |||||
---|---|---|---|---|---|
integer | socketId |
The socket ID. |
|||
string | address |
The address of the local machine. DNS name, IPv4 and IPv6 formats are supported. Use "0.0.0.0" to accept packets from all local available network interfaces. |
|||
integer | port |
The port of the local machine. Use "0" to bind to a free port. |
|||
function | callback |
Called when the The callback parameter should be a function that looks like this: function(integer result) {...};
|
send
chrome.sockets.udp.send(integer socketId, ArrayBuffer data, string address, integer port, function callback)
Sends data on the given socket to the given address and port. The socket must be bound to a local port before calling this method.
Parameters | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
integer | socketId |
The socket ID. |
|||||||||
ArrayBuffer | data |
The data to send. |
|||||||||
string | address |
The address of the remote machine. |
|||||||||
integer | port |
The port of the remote machine. |
|||||||||
function | callback |
Called when the The callback parameter should be a function that looks like this: function(object sendInfo) {...};
|
close
chrome.sockets.udp.close(integer socketId, function callback)
Closes the socket and releases the address/port the socket is bound to. 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 | ||
---|---|---|
integer | socketId |
The socket ID. |
function | (optional) callback |
Called when the If you specify the callback parameter, it should be a function that looks like this: function() {...};
|
getInfo
chrome.sockets.udp.getInfo(integer socketId, function callback)
Retrieves the state of the given socket.
Parameters | |||||
---|---|---|---|---|---|
integer | socketId |
The socket ID. |
|||
function | callback |
Called when the socket state is available. The callback parameter should be a function that looks like this: function( SocketInfo socketInfo) {...};
|
getSockets
chrome.sockets.udp.getSockets(function callback)
Retrieves the list of currently opened sockets owned by the application.
Parameters | |||||
---|---|---|---|---|---|
function | callback |
Called when the list of sockets is available. The callback parameter should be a function that looks like this: function(array of SocketInfo socketInfos) {...};
|
joinGroup
chrome.sockets.udp.joinGroup(integer socketId, string address, function callback)
Joins the multicast group and starts to receive packets from that group. The socket must be bound to a local port before calling this method.
Parameters | |||||
---|---|---|---|---|---|
integer | socketId |
The socket ID. |
|||
string | address |
The group address to join. Domain names are not supported. |
|||
function | callback |
Called when the The callback parameter should be a function that looks like this: function(integer result) {...};
|
leaveGroup
chrome.sockets.udp.leaveGroup(integer socketId, string address, function callback)
Leaves the multicast group previously joined using joinGroup
. This is only necessary to call if you plan to keep using the socketafterwards, since it will be done automatically by the OS when the socket is closed.
Leaving the group will prevent the router from sending multicast datagrams to the local host, presuming no other process on the host is still joined to the group.
Parameters | |||||
---|---|---|---|---|---|
integer | socketId |
The socket ID. |
|||
string | address |
The group address to leave. Domain names are not supported. |
|||
function | callback |
Called when the The callback parameter should be a function that looks like this: function(integer result) {...};
|
setMulticastTimeToLive
chrome.sockets.udp.setMulticastTimeToLive(integer socketId, integer ttl, function callback)
Sets the time-to-live of multicast packets sent to the multicast group.
Calling this method does not require multicast permissions.
Parameters | |||||
---|---|---|---|---|---|
integer | socketId |
The socket ID. |
|||
integer | ttl |
The time-to-live value. |
|||
function | callback |
Called when the configuration operation completes. The callback parameter should be a function that looks like this: function(integer result) {...};
|
setMulticastLoopbackMode
chrome.sockets.udp.setMulticastLoopbackMode(integer socketId, boolean enabled, function callback)
Sets whether multicast packets sent from the host to the multicast group will be looped back to the host.
Note: the behavior of setMulticastLoopbackMode
is slightly different between Windows and Unix-like systems. The inconsistency happens only when there is more than one application on the same host joined to the same multicast group while having different settings on multicast loopback mode. On Windows, the applications with loopback off will not RECEIVE the loopback packets; while on Unix-like systems, the applications with loopback off will not SEND the loopback packets to other applications on the same host. See MSDN: http://goo.gl/6vqbj
Calling this method does not require multicast permissions.
Parameters | |||||
---|---|---|---|---|---|
integer | socketId |
The socket ID. |
|||
boolean | enabled |
Indicate whether to enable loopback mode. |
|||
function | callback |
Called when the configuration operation completes. The callback parameter should be a function that looks like this: function(integer result) {...};
|
getJoinedGroups
chrome.sockets.udp.getJoinedGroups(integer socketId, function callback)
Gets the multicast group addresses the socket is currently joined to.
Parameters | |||||
---|---|---|---|---|---|
integer | socketId |
The socket ID. |
|||
function | callback |
Called with an array of strings of the result. The callback parameter should be a function that looks like this: function(array of string groups) {...};
|
setBroadcast
chrome.sockets.udp.setBroadcast(integer socketId, boolean enabled, function callback)
Since Chrome 44.
Enables or disables broadcast packets on this socket.
Parameters | |||||
---|---|---|---|---|---|
integer | socketId |
The socket ID. |
|||
boolean | enabled |
|
|||
function | callback |
Callback from the The callback parameter should be a function that looks like this: function(integer result) {...};
|
Events
onReceive
Event raised when a UDP packet has been received for the given socket.
addListener
chrome.sockets.udp.onReceive.addListener(function callback)
Parameters | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
function | callback |
The callback parameter should be a function that looks like this: function(object info) {...};
|
onReceiveError
Event raised when a network error occured while the runtime was waiting for data on the socket address and port. Once this event is raised, the socket is paused and no more onReceive
events will be raised for this socket until the socket is resumed.
addListener
chrome.sockets.udp.onReceiveError.addListener(function callback)
Parameters | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
function | callback |
The callback parameter should be a function that looks like this: function(object info) {...};
|