====== Tcp ======
This object allows you to establish a connection to a TCP server.
===== Functions =====
==== Tcp ====
Constructor function.
=== Syntax ===
var myObject = new Tcp(events);
=== Arguments ===
- events - (object) the events that can be called
* onConnected - ([[#onConnected|onConnected]]) called when the object is connected to the server
* onDisconnected - ([[#onDisconnected|onDisconnected]]) called when the object is disconnected from the server
* onReadyRead - ([[#onReadyRead|onReadyRead]]) called when the object is ready to read data sent from the server
* onBytesWritten - ([[#onBytesWritten|onBytesWritten]]) called when the object has finished writing data to the server
* onError - ([[#onError|onError]]) called when an error has occured
=== Example ===
var myObject = new Tcp();
var myObject = new Tcp({
onConnected: function()
{
Console.print("Connected!");
},
onDisconnected: function()
{
Console.print("Disconnected!");
}
});
===== Methods =====
==== connect ====
Opens a connection to a server.
=== Syntax ===
myObject.connect(hostname, port, openMode);
myObject.connect(hostname, port);
=== Arguments ===
- hostname - (string) the hostname to connect to (ip address or dns)
- port - (integer) the port number
- openMode - (OpenMode) the open mode (default: read & write)
=== Returns ===
* (Tcp) this Tcp
=== Notes ===
This method is asynchronous, this means that it will return before a connection is established.
To know when a connection is made use the [[#onConnected|onConnected]] event or the [[#waitForConnected|waitForConnected]] method.
==== write ====
Writes some data to the server.
=== Syntax ===
myObject.write(data);
=== Arguments ===
- data - (mixed) the data to write
=== Returns ===
* (Tcp) this Tcp
=== Notes ===
This method is asynchronous, this means that it will return before the data has been written.
To know when the data has been sent use the [[#onBytesWritten|onBytesWritten]] event or the [[#waitForBytesWritten|waitForBytesWritten]] method.
==== writeText ====
Writes some text to the server.
=== Syntax ===
myObject.writeText(text);
=== Arguments ===
- text - (string) the text to write
=== Returns ===
* (Tcp) this Tcp
=== Notes ===
This method is asynchronous, this means that it will return before the data has been written.
To know when the text has been sent use the [[#onBytesWritten|onBytesWritten]] event or the [[#waitForBytesWritten|waitForBytesWritten]] method.
==== disconnect ====
Closes a connection with a server.
=== Syntax ===
myObject.disconnect();
myObject.disconnect();
=== Returns ===
* (Tcp) this Tcp
=== Notes ===
This method is asynchronous, this means that it will return before the connection is closed.
To know when the connection is closed use the [[#onDisconnected|onDisconnected]] event or the [[#waitForDisconnected|waitForDisconnected]] method.
==== read ====
Returns the data sent by the server.
=== Syntax ===
myObject.read();
=== Returns ===
* (mixed) the data
=== Notes ===
To know when data is available use the [[#onReadyRead|onReadyRead]] event or the [[#waitForReadyRead|waitForReadyRead]] method.
==== readText ====
Returns the text sent by the server.
=== Syntax ===
myObject.readText(encoding);
myObject.readText();
=== Arguments ===
- encoding - ([[en:code:core:global#encoding|Encoding]]) the encoding to use
=== Returns ===
* (string) the text
=== Notes ===
To know when text is available use the [[#onReadyRead|onReadyRead]] event or the [[#waitForReadyRead|waitForReadyRead]] method.
==== waitForConnected ====
Freezes the execution until a connection has been established or **waitTime** time elapsed.
=== Syntax ===
myObject.waitForConnected(waitTime);
myObject.waitForConnected();
=== Arguments ===
- waitTime - (integer) the time to wait (milliseconds, default: 30000)
=== Returns ===
* (Tcp) this Tcp
=== Exceptions ===
* (ConnectionError) cannot establish a connection to the host
==== waitForDisconnected ====
Freezes the execution until the connection has been closed or **waitTime** time elapsed.
=== Syntax ===
myObject.waitForDisconnected(waitTime);
myObject.waitForDisconnected();
=== Arguments ===
- waitTime - (integer) the time to wait (milliseconds, default: 30000)
=== Returns ===
* (Tcp) this Tcp
=== Exceptions ===
* (DisconnectionError) waiting for disconnection failed
==== waitForReadyRead ====
Freezes the execution until data is available or **waitTime** time elapsed.
=== Syntax ===
myObject.waitForReadyRead(waitTime);
myObject.waitForReadyRead();
=== Arguments ===
- waitTime - (integer) the time to wait (milliseconds, default: 30000)
=== Returns ===
* (Tcp) this Tcp
=== Exceptions ===
* (ReadyReadError) waiting for ready read failed
==== waitForBytesWritten ====
Freezes the execution until all data has been written or **waitTime** time elapsed.
=== Syntax ===
myObject.waitForBytesWritten(waitTime);
myObject.waitForBytesWritten();
=== Arguments ===
- waitTime - (integer) the time to wait (milliseconds, default: 30000)
=== Returns ===
* (Tcp) this Tcp
=== Exceptions ===
* (BytesWrittenError) waiting for bytes written failed
===== Events =====
==== onConnected ====
Called when a connection is established.
=== Syntax ===
myObject.onConnected = function() {};
=== Example ===
myObject.onConnected = function()
{
//Event action
};
==== onDisconnected ====
Called when a connection is closed.
=== Syntax ===
myObject.onDisconnected = function() {};
=== Example ===
myObject.onDisconnected = function()
{
//Event action
};
==== onReadyRead ====
Called when data is available and can be read using the [[#read|read]] method.
=== Syntax ===
myObject.onReadyRead = function() {};
=== Example ===
myObject.onReadyRead = function()
{
//Event action
};
==== onBytesWritten ====
Called when data sent to the server has been written.
=== Syntax ===
myObject.onBytesWritten = function(bytes) {};
=== Arguments ===
- bytes - (integer) the number of bytes that have been written
=== Example ===
myObject.onBytesWritten = function(bytes)
{
//Event action
};
==== onError ====
Called when an error has occurred.
=== Syntax ===
myObject.onError = function(errorMessage) {};
=== Arguments ===
- errorMessage - (string) text describing the error
=== Example ===
myObject.errorMessage = function(errorMessage)
{
//Event action
};
===== Enumerations =====
==== OpenMode ====
Open mode.
=== Values ===
- ReadOnly: socked opened for reading only
- WriteOnly: socked opened for writing only
- ReadWrite: socked opened for reading and writing
- Unbuffered: socked opened in unbuffered mode
=== Notes ===
This is a flag enumeration, that means that you can use multiple values using the | operator.
Example:
myObject.connect("127.0.0.1", 80, Tcp.ReadOnly | Tcp.Unbuffered);