User Tools

Site Tools


en:code:data:tcpserver

Differences

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


Previous revision
en:code:data:tcpserver [2021/02/13 11:23] (current) – external edit 127.0.0.1
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>
en/code/data/tcpserver.txt · Last modified: 2021/02/13 11:23 by 127.0.0.1