Function fnServiceConnect($Request)
; Local variables..
Dim $ServiceAddress,$ServicePort,$
$ServiceAddress=fnGetMUI('DOCClient.ServiceAddress')
$ServicePort=fnGetMUI('DOCClient.ServicePort')
; Create socket..
$Socket=$System.Socket()
If $Socket
$Socket.blocking=0
$Socket.onconnect="$$=fnOnConnect($$System.Sender,'"+$Request+"')"
$Socket.onreceive="$$=fnOnReceive($$System.Sender)"
$Socket.ondisconnect="$=fnOnDisconnect($$System.Sender)"
$Socket.remoteaddress=$ServiceAddress
$Socket.remoteport=$ServicePort
$Socket.connect()
EndIf
EndFunction
Function fnOnConnect($Socket,$Request)
; Local variables..
Dim $
If $Socket
; Send message..
$Socket.Send($Request)
Sleep 0.05
EndIf
EndFunction
Function fnOnReceive($Socket)
; Local variables..
Dim $GroupDN,$GroupObj,$Tag,$UserObj,$
If $Socket
; Retrieve data from socket and close socket..
$OnReceive=$Socket.Receive()
$Socket.Disconnect()
$Socket.Close()
$Socket=0
; redim granted/delegated users..
Redim $GrantedUsers[]
Redim $DelegatedUsers[]
; Check if received data is correct..
$OnRecieveArray=Split($OnReceive,',')
Select
Case Left($OnReceive,10)='1,Connect,'
Case Left($OnReceive,9)='1,Result,'
Case Left($OnReceive,7)='1,Quit,'
Select
EndIf
EndFunction