Class TOlfSMServer

Unit

Declaration

type TOlfSMServer = class(TInterfacedObject, IOlfSMMessagesRegister)

Description

Hierarchy

Overview

Methods

Protected procedure ServerLoop; virtual;
Protected function LockMessagesDict: TOlfSMMessagesDict;
Protected procedure UnlockMessagesDict;
Protected function LockSubscribers: TOlfSubscribers;
Protected procedure UnlockSubscribers;
Protected procedure DoClientConnected(Const AClient: TOlfSMSrvConnectedClient);
Protected procedure DoClientLostConnexion(Const AClient: TOlfSMSrvConnectedClient);
Protected procedure DoClientDisconnected(Const AClient: TOlfSMSrvConnectedClient);
Public constructor Create(AIP: string; APort: word); overload; virtual;
Public constructor Create; overload; virtual;
Public procedure Listen; overload; virtual;
Public procedure Listen(AIP: string; APort: word); overload; virtual;
Public function isListening: boolean;
Public function isConnected: boolean;
Public destructor Destroy; override;
Public procedure RegisterMessageToReceive(AMessage: TOlfSMMessage);
Public procedure SubscribeToMessage(AMessageID: TOlfSMMessageID; aReceivedMessageEvent: TOlfSMReceivedMessageEvent);
Public procedure UnsubscribeToMessage(AMessageID: TOlfSMMessageID; aReceivedMessageEvent: TOlfSMReceivedMessageEvent);
Public procedure SendMessageToAll(Const AMessage: TOlfSMMessage; Const ExceptToClient: TOlfSMSrvConnectedClient = nil);
Public procedure ForEachConnectedClient(DoSomethingProc: TOlfSMConnectedClientProc; AllowParallelFor: boolean = true); overload;
Public procedure ForEachConnectedClient(DoSomethingEvent : TOlfSMConnectedClientEvent; AllowParallelFor: boolean = true); overload;

Properties

Protected property Socket: TSocket read GetSocket write SetSocket;
Public property IP: string read GetIP write SetIP;
Public property Port: word read GetPort write SetPort;
Public property ThreadNameForDebugging: string read GetThreadNameForDebugging write SetThreadNameForDebugging;
Public property onServerConnected: TOlfSMServerEvent read FonServerConnected write SetonServerConnected;
Public property onServerDisconnected: TOlfSMServerEvent read FonServerDisconnected write SetonServerDisconnected;
Public property onEncodeMessageToSend: TOlfSMEncodeDecodeMessageEvent read FonEncodeMessageToSend write SetonEncodeMessageToSend;
Public property onDecodeReceivedMessage: TOlfSMEncodeDecodeMessageEvent read FonDecodeReceivedMessage write SetonDecodeReceivedMessage;
Public property onClientConnected: TOlfSMConnectedClientEvent read FonClientConnected write SetonClientConnected;
Public property onClientLostConnection: TOlfSMConnectedClientEvent read FonClientLostConnection write SetonClientLostConnection;
Public property onClientDisconnected: TOlfSMConnectedClientEvent read FonClientDisconnected write SetonClientDisconnected;

Description

Methods

Protected procedure ServerLoop; virtual;
 
Protected function LockMessagesDict: TOlfSMMessagesDict;
 
Protected procedure UnlockMessagesDict;
 
Protected function LockSubscribers: TOlfSubscribers;
 
Protected procedure UnlockSubscribers;
 
Protected procedure DoClientConnected(Const AClient: TOlfSMSrvConnectedClient);
 
Protected procedure DoClientLostConnexion(Const AClient: TOlfSMSrvConnectedClient);
 
Protected procedure DoClientDisconnected(Const AClient: TOlfSMSrvConnectedClient);
 
Public constructor Create(AIP: string; APort: word); overload; virtual;
 
Public constructor Create; overload; virtual;
 
Public procedure Listen; overload; virtual;
 
Public procedure Listen(AIP: string; APort: word); overload; virtual;
 
Public function isListening: boolean;
 
Public function isConnected: boolean;
 
Public destructor Destroy; override;
 
Public procedure RegisterMessageToReceive(AMessage: TOlfSMMessage);
 
Public procedure SubscribeToMessage(AMessageID: TOlfSMMessageID; aReceivedMessageEvent: TOlfSMReceivedMessageEvent);
 
Public procedure UnsubscribeToMessage(AMessageID: TOlfSMMessageID; aReceivedMessageEvent: TOlfSMReceivedMessageEvent);
 
Public procedure SendMessageToAll(Const AMessage: TOlfSMMessage; Const ExceptToClient: TOlfSMSrvConnectedClient = nil);
 
Public procedure ForEachConnectedClient(DoSomethingProc: TOlfSMConnectedClientProc; AllowParallelFor: boolean = true); overload;
 
Public procedure ForEachConnectedClient(DoSomethingEvent : TOlfSMConnectedClientEvent; AllowParallelFor: boolean = true); overload;
 

Properties

Protected property Socket: TSocket read GetSocket write SetSocket;
 
Public property IP: string read GetIP write SetIP;
 
Public property Port: word read GetPort write SetPort;
 
Public property ThreadNameForDebugging: string read GetThreadNameForDebugging write SetThreadNameForDebugging;
 
Public property onServerConnected: TOlfSMServerEvent read FonServerConnected write SetonServerConnected;
 
Public property onServerDisconnected: TOlfSMServerEvent read FonServerDisconnected write SetonServerDisconnected;
 
Public property onEncodeMessageToSend: TOlfSMEncodeDecodeMessageEvent read FonEncodeMessageToSend write SetonEncodeMessageToSend;
 
Public property onDecodeReceivedMessage: TOlfSMEncodeDecodeMessageEvent read FonDecodeReceivedMessage write SetonDecodeReceivedMessage;
 
Public property onClientConnected: TOlfSMConnectedClientEvent read FonClientConnected write SetonClientConnected;
 
Public property onClientLostConnection: TOlfSMConnectedClientEvent read FonClientLostConnection write SetonClientLostConnection;
 
Public property onClientDisconnected: TOlfSMConnectedClientEvent read FonClientDisconnected write SetonClientDisconnected;
 
Socket Messaging Library (c) 2023-2025 Patrick PREMARTIN - Powered by PasDoc
Generated by PasDoc 0.16.0.