Sta podrazumevas pod asinhronom komunikacijom sa servisnom aplikacijom? Sta
se prenosi, ko kome salje?
Servisna aplikacija u sebi moze imati maltene sve mehanizme koji postoje i kod
obicne aplikacije...
Na primer ja koristim cesto asinhrone (non-blocking) socket-e za komunikaciju sa
drugim servisima i/ili aplikacijama. Na zalost ja koristim Borland C++ Builder za tu
svrhu, ali nema razloga da isto to ne moze nekako i sa MS VC++.
Ako treba samo nesto da javis servisnoj aplikaciji, ona vec ima mehanizam za to
preko OpenService() i SERVICE_USER_DEFINED_CONTROL.
--- klijent salje ---
Code:
bool TMainForm::CommandUserDefinedReload()
{
bool Result;
SC_HANDLE H2 = OpenService ( H1, ServName, SERVICE_USER_DEFINED_CONTROL );
Result = ControlService ( H2, 200, &sstatus );
if ( ! H2 ) CloseServiceHandle ( H2 );
return ( Result );
}
--- server prima ---
Code:
bool __fastcall TLocalLanMsgService::DoCustomControl(unsigned CtrlCode)
{
if ( CtrlCode == 200 )
{
// primljeno ...
}
return ( true );
}