/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
SendMessage på terminal services...?
Fra : Thomas Eg Jørgensen


Dato : 09-02-04 22:25

Hej

Jeg bruger pt SendMessage til at kommunikere mellem mine programmer. Men
hvad skal man gøre hvis man ønsker at sende beskeder på tværs af sessioner
på en terminal services-server? JEg prøvede en broadcast men den sender så
vidt jeg kan se kun til den aktuelle bruger og ikke til eventuelt andre
brugere der er logget ind....

På forhånd tak

MVH
Thomas



 
 
Klaus Petersen (10-02-2004)
Kommentar
Fra : Klaus Petersen


Dato : 10-02-04 00:39

> Jeg bruger pt SendMessage til at kommunikere mellem mine programmer. Men
> hvad skal man gøre hvis man ønsker at sende beskeder på tværs af sessioner
> på en terminal services-server? JEg prøvede en broadcast men den sender så
> vidt jeg kan se kun til den aktuelle bruger og ikke til eventuelt andre
> brugere der er logget ind....

Nu skriver du ikke hvilket operativ-system du bruger ... men har du prøvet
at bruge delt hukommelse?

Det er svjv. den ene af de 2 muligheder der er på en windows platform.

Ellers kunne man måske prøve at sende via. netværket.

Måske man kan nøjes med at sende til localhost.

En nødløsning kunne måske være at lave en speciel fil?



Thomas Eg Jørgensen (12-02-2004)
Kommentar
Fra : Thomas Eg Jørgensen


Dato : 12-02-04 09:55


"Klaus Petersen" <spectual2@getTOnet.dk> wrote in message
news:IRUVb.11751$qC3.10010@news.get2net.dk...
> > Jeg bruger pt SendMessage til at kommunikere mellem mine programmer. Men
> > hvad skal man gøre hvis man ønsker at sende beskeder på tværs af
sessioner
> > på en terminal services-server? JEg prøvede en broadcast men den sender

> > vidt jeg kan se kun til den aktuelle bruger og ikke til eventuelt andre
> > brugere der er logget ind....
>
> Nu skriver du ikke hvilket operativ-system du bruger ... men har du prøvet
> at bruge delt hukommelse?

Jeg prøvede delt hukommelse men det virker desværre ikke helt efter
hensigten. På konsollen virker det fint, men terminalerne kan ikke se
området...Jeg bruger følgende i "afsenderen":
var
SharedMemoryMap : THandle;
PMapData : PMyDataExchangeRecord;
begin
SharedMemoryMap := CreateFileMapping($FFFFFFFF, nil, PAGE_READWRITE, 0,
SizeOf(RWindowMessage), pchar('MyProgramNavn'));
PMapData:=MapViewOfFile(SharedMemoryMap,FILE_MAP_WRITE,0,0,0);

og følgende på "modtagerne":
var
HMapping : THandle;
begin
HMapping := OpenFileMapping(PAGE_READWRITE, false, 'MyProgramNavn');
PMapData:=MapViewOfFile(HMapping,FILE_MAP_READ,0,0,0);


Det er rigtigt, ik? Det er nemlig første gang jeg forsøger med med
memorymapped filer...



> Ellers kunne man måske prøve at sende via. netværket.
> Måske man kan nøjes med at sende til localhost.
> En nødløsning kunne måske være at lave en speciel fil?
>

Jeg har behov for at udveksle data meget hurtigt(mange gange i sekundet,
peak på måske 10-50 gange/sek) så jeg ved ikke helt hvor godt et alternativ
de to løsninger er...Men netværket bliver måske sidste udvej eftersom jeg er
ved at løbe tør for ideer


Forslag modtages med kyshånd!

MVH
Thomas



Klaus Petersen (12-02-2004)
Kommentar
Fra : Klaus Petersen


Dato : 12-02-04 17:56

> Jeg har behov for at udveksle data meget hurtigt(mange gange i sekundet,
> peak på måske 10-50 gange/sek) så jeg ved ikke helt hvor godt et
alternativ
> de to løsninger er...Men netværket bliver måske sidste udvej eftersom jeg
er
> ved at løbe tør for ideer

Det skulle ikke være det store problem med hastigheden, når det "kun" er 50
gange pr. sek.

Hvis det ellers kører over LAN er ping tiden sikkert på under 5 ms.

Så de 50 gange vil give en tid på 250 ms. - så selv hvis det var 200 gange i
sek. ville det nok ikke være noget problem.

Det afhænger jo selvfølgelig af hvor data du skal udviksle.

Det er måske endda ligefrem en fordel at bruge netværk, da du så ikke
længere er afhængig af at programmerne skal køre på samme maskine.

Hvis du kan sende til localhost, sendes der nok ikke engang data ud på
netværket og så må ping tiden være endnu lavere.

Med andre ord ... hvis det var mig der skulle lave det, ville jeg helt
sikkert lade det køre over netværk.

Hvis bruger delphi, er der heller ikke mange ben i dét



Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408186
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste