This function sets a socket handler function for lost connections. Note that you cannot use functions defined inside a class or a namespace. The handler function is called every time a connection has been lost (either a client or a server connection).
If the socket acts as a client socket, ie. it is connected to a server, the handler function takes one argument Socket, the socket instance which the disconnection originates from.
- function FunctionName( instance Socket )
However if the socket is a server socket (ie. different clients can connect to it) the handler function should be in the following format (clientID: The ID of the client that lost connection, clientIPAddress: The IP address of the client, clientPort: the port of the client):
- function FunctionName( instance Socket, int clientID, string clientIPAddress, int clientPort )
Socket.SetLostConnFunc can take 2 different lists of parameters. These are:
- bool Socket.SetLostConnFunc( string szFuncname )
- bool Socket.SetLostConnFunc( function pFunc )
- szFuncname - This is the name of the handler function as a string
- pFunc - This is a pointer to the handler function (closure)
- function onScriptLoad( )
- p_Socket <- NewSocket( "Function" );
- p_Socket.SetLostConnFunc( AttemptReconnect );
On script load this will set the lost connection function to AttemptReconnect.