User Tools

Site Tools


en:code:data:tcpserver

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

en:code:data:tcpserver [2016/10/09 09:10]
en:code:data:tcpserver [2020/02/09 13:26] (current)
Line 1: Line 1:
 +====== TcpServer ======
 +This object allows you to create a TCP server, allowing you to listen to incoming connections.
  
 +===== Functions =====
 +
 +==== TcpServer ====
 +Constructor function.
 +
 +=== Syntax ===
 +<code javascript>​
 +var myObject = new TcpServer(events);​
 +</​code>​
 +
 +=== Arguments ===
 +  - events - (object) the events that can be called
 +    * onNewConnection - ([[#​onNewConnection|onNewConnection]]) called when a client is trying to establish a connection
 +
 +=== Example ===
 +<code javascript>​
 +var myObject = new TcpServer();​
 +</​code>​
 +<code javascript>​
 +var myObject = new TcpServer({
 + onNewConnection:​ function()
 + {
 + Console.print("​New client!"​);​
 + }
 +});
 +</​code>​
 +
 +===== Methods =====
 +
 +==== listen ====
 +Start listening for clients.
 +
 +=== Syntax ===
 +<code javascript>​
 +myObject.listen(address,​ port);
 +</​code>​
 +<code javascript>​
 +myObject.listen(address);​
 +</​code>​
 +<code javascript>​
 +myObject.listen();​
 +</​code>​
 +
 +=== Arguments ===
 +  - address - (string) the address where to listen (default: all network interfaces)
 +  - port - (integer) the port number (default: choose a port automatically)
 +
 +=== Returns ===
 +  * (TcpServer) this TcpServer
 +
 +=== Exceptions ===
 +  * (ListenError) unable to start listening
 +
 +==== waitForNewConnection ====
 +Freezes the execution until a new connection arrives or **waitTime** time elapsed.
 +
 +=== Syntax ===
 +<code javascript>​
 +myObject.waitForNewConnection(waitTime);​
 +</​code>​
 +<code javascript>​
 +myObject.waitForNewConnection();​
 +</​code>​
 +
 +=== Arguments ===
 +  - waitTime - (integer) the time to wait (milliseconds,​ default: 30000)
 +
 +=== Returns ===
 +  * (TcpServer) this TcpServer
 +
 +=== Exceptions ===
 +  * (WaitForNewConnectionError) waiting for new connection failed
 +
 +==== nextPendingConnection ====
 +Returns the next pending connection as a [[en:​code:​data:​tcp|Tcp]] object that can be used to read and write to the client. You should store this object if you want to write to this client later.
 +
 +=== Syntax ===
 +<code javascript>​
 +myObject.nextPendingConnection();​
 +</​code>​
 +
 +=== Returns ===
 +  * (Tcp) the new client as a [[en:​code:​data:​tcp|Tcp]] object
 +
 +=== Exceptions ===
 +  * (NoPendingConnectionError) there is no pending connection
 +
 +==== address ====
 +Returns the ip address on which this server is listening.
 +
 +=== Syntax ===
 +<code javascript>​
 +myObject.address();​
 +</​code>​
 +
 +=== Returns ===
 +  * (string) the ip address on which this server is listening
 +
 +==== port ====
 +Returns the port used by this server.
 +
 +=== Syntax ===
 +<code javascript>​
 +myObject.port();​
 +</​code>​
 +
 +=== Returns ===
 +  * (integer) the port used by this server
 +
 +===== Events =====
 +
 +==== onNewConnection ====
 +Called when a new client has connected.
 +
 +=== Syntax ===
 +<code javascript>​
 +myObject.onNewConnection = function() {};
 +</​code>​
 +
 +=== Example ===
 +<code javascript>​
 +myObject.onNewConnection = function()
 +{
 + var client = myObject.nextPendingConnection();​
 +
 + // do something with the client...
 +};
 +</​code>​