Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit Server;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, mORMot, mORMotHttpServer, SynCommons;
- type
- TForm2 = class(TForm)
- procedure FormCreate(Sender: TObject);
- procedure FormDestroy(Sender: TObject);
- private
- FRestServer: TSQLRestServerFullMemory;
- FHTTPServer: TSQLHttpServer;
- public
- { Public declarations }
- end;
- IWSSGeneral = interface(IServiceWithCallbackReleased)
- ['{EEEFEFC2-4E34-4FD8-9B15-F5BEEBE5C44C}']
- function ACall: string;
- end;
- TWebSocketWorker = class(TInterfacedObject, IWSSGeneral)
- public
- function ACall: string;
- procedure CallbackReleased(const callback: IInvokable; const interfaceName: RawUTF8);
- end;
- const
- WEBSOCKET_ENCRYPTION_KEY = '-JaNdRgUkXp2s5v8x/A?D(G+KbPeShVmYq3t6w9z$B&E)H@McQfTjWnZr4u7x!A%D*F-JaNdRgUkXp2s5v8y/B?E(H+KbPeShVmYq3t6w9z$C&F)J@NcQfTjWnZr4u7x!A%D*G-KaPdSgUkXp2s5v8y/B?E(H+MbQeThWmYq3t6w9z$C&F)J@NcRfUjXn2r4u7x!A%D*G-KaPdSgVkYp3s6v8y/B?E(H+MbQeThWmZq4t7' +
- 'w!z$C&F)J@NcRfUjXn2r5u8x/A?D*G-KaPdSgVkYp3s6v9y$B&E)H+MbQeThWmZq4t7w!z%C*F-JaNcRfUjXn2r5u8x/A?D(G+KbPeSgVkYp3s6v9y$B&E)H@McQfTjWmZq4t7w!z%C*F-JaNdRgUkXp2r5u8x/A?D(G+KbPeShVmYq3t6v9y$B&E)H@McQfTjWnZr4u7x!z%C*F-JaNdRgUkXp2s5v8y/B?D(G+KbPeShV' +
- 'mYq3t6w9z$C&F)H@McQfTjWnZr4u7x!A%D*';
- var
- Form2: TForm2;
- implementation
- {$R *.dfm}
- procedure TForm2.FormCreate(Sender: TObject);
- begin
- FRestServer := TSQLRestServerFullMemory.CreateWithOwnModel([]);
- FRestServer.CreateMissingTables;
- FRestServer.ServiceDefine(TWebSocketWorker,[IWSSGeneral], sicShared);
- FHTTPServer := TSQLHttpServer.Create('50010', [FRestServer], AnsiString('+'), useBidirSocket, 32, secSynShaAes);
- FHTTPServer.WebSocketsEnable(FRestServer, WEBSOCKET_ENCRYPTION_KEY);
- end;
- procedure TForm2.FormDestroy(Sender: TObject);
- begin
- FHTTPServer.Free;
- FRestServer.Free;
- end;
- { TWebSocketWorker }
- function TWebSocketWorker.ACall: string;
- begin
- result := '';
- end;
- procedure TWebSocketWorker.CallbackReleased(const callback: IInvokable; const interfaceName: RawUTF8);
- begin
- //
- end;
- initialization
- TInterfaceFactory.RegisterInterfaces([TypeInfo(IWSSGeneral)]);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement