Socket.SetNewConnFunc

From Liberty Unleashed Wiki
Jump to: navigation, search
Home   |   Squirrel Scripting   |   Server Functions   |   Server Events   |   Client Functions   |   Client Events


This function sets a socket handler function for new 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 made (either the socket has successfully connected to a server or a client has connected the socket).

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.

  1. function FunctionName( instance Socket )

If the socket acts as a client socket, ie. it is connected to a server, the handler function does not take any arguments. 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 for the incoming connection, clientIPAddress: The IP address of the client, clientPort: the port of the client):

  1. function FunctionName( instance Socket, int clientID, string clientIPAddress, int clientPort )

Syntax

Socket.SetNewConnFunc can take 2 different lists of parameters. These are:

  1. bool Socket.SetNewConnFunc( string szFuncname )
  1. bool Socket.SetNewConnFunc( function pFunc )

Arguments

  • szFuncname - This is the name of the handler function as a string
  • pFunc - This is a pointer to the handler function (closure)

Example

  1.  
  2. function onScriptLoad( )
  3. {
  4. p_Socket <- NewSocket( "Function" );
  5. p_Socket.SetNewConnFunc( IdentifyToServices );
  6. }
  7.  

On script load this will set the new connection function to identify to a network services.

(In this example we are connecting the socket to an IRC server)

Notes

The call onScriptLoad was used in in this example. The function NewSocket was also used. More info about these in the corresponding pages.

Related Functions

Personal tools
Namespaces

Variants
Actions
Navigation
scripting
Toolbox