This API is available on Firefox OS for privileged or certified applications only.


The send method is used to buffer data to be sent to the server.


var theBufferIsFull = instanceOfTCPSocket.send(data[, byteOffset[, byteLength]]);


The data to write to the socket. Depending on the binaryType option passed to the open() method, it will be a string or an ArrayBuffer.
The offset within the data from which to begin writing. Only relevant for ArrayBuffer data.
The number of bytes to write. Only relevant for ArrayBuffer data.


It returns a boolean as a hint to the caller that they may either continue sending more data immediately, or may want to wait until the other side has read some of the data which has already been written to the socket before buffering more.

  • If send returns true, then less than 64k has been buffered and it's safe to immediately write more.
  • If send returns false, then more than 64k has been buffered, and the caller may wish to wait until the drain event has been triggered before buffering more data by more calls to send.


var socket ="", 80);

function pushData() {
  var data;
  // Do stuff that retrieves data

  // Fill the buffer as much as you can
  while(data != null && socket.send(data));

// Resume pushing data when the buffer is flushed
socket.ondrain = pushData;

// Start pushing data


Not part of any specification yet; however, this API is discussed at W3C as part of the System Applications Working Group under the Raw Sockets proposal.

See also

Document Tags and Contributors

 Contributors to this page: chrisdavidmills, teoli, kscarfone, Jeremie
 Last updated by: chrisdavidmills,