Gå til innhold

Komunikasjon mellom to programmer på samme maskin


Anbefalte innlegg

Heisan godtfolk

 

Jeg sitter og skal lage to programmer som skal "snakke" med hverandre. Jeg tenkte at å bruke Localhost og velge ut en port ville gjøre susen, men så kom det plutselig en skygge i hodet mitt som visket "Brannmurproblemer = support" og jeg tror jeg av den grunn har kastet den løsningen.

 

Er det en annen god måte å gjøre dette på?

 

Program 1 er skrevet i Clarion som dessverre ikke støtter noen som helst form for .NET. Den andre parten "Agenten" er skrevet i C# og følgelig kan det meste. Hvordan skal jeg kunne sende en beskjed til dette programmet uten at en eller annen dustete brannmur fanger opp og gjør at brukeren ved en feil trykke på "Steng dette"

 

Jeg har vert inne på COM, men det er heller ingen løsning. Da må jeg nemlig registrere .NET delen som et COM objekt og det er uaktuellt, nettop fordi det også skaper support og andre problemer. Agenten kan heller ikke være en service fordi dette også skal kjøre på terminal server (ASP løsninger)

 

Forslag mottas som vanlig med stoor takk ;-)

 

Ole

Lenke til kommentar
Videoannonse
Annonse

Er named pipes et alternativ? Eller MSMQ?

 

data_jepp: Vet du hva en mutex er? Det er et lavnivå synkroniserings-objekt ofte brukt i forbindelse med multithreading. Skjønner ikke helt hvorfor DET dukket opp :)

Endret av steingrim
Lenke til kommentar
Jeg er redd named pipes også kan krangle med en firewall eller andre beskyttelsesprogrammer?

 

Jeg var litt usikker på det når jeg skreiv det ja. Er det noen som vet noe om dette så er det alltid interessant å vite hva som er vanlig praksis blant beskyttelsesprogrammene!

Lenke til kommentar

Spartacus: Løsingen din ser bra ut, men kansje litt owerkill. Dessuten vil vel dette skape brannmurproblemer. Ser at den andre linken din viser hvordan man endrer dette i windows brannmur, men akk, og jeg nevner i fleng: Norton, Symantec, o.s.v

 

Alftore: You'r the winner! Dette er nettop det jeg var ute etter. Enkelt og greit. Litt fikling med API, og window subclassing på Clarion siden, men dette vil funke. Eneste jeg ser er at i Vista kan dette bli en utfordring:

 

"Microsoft Windows Vista and later. Message sending is subject to User Interface Privilege Isolation (UIPI). The thread of a process can send messages only to message queues of threads in processes of lesser or equal integrity level."

 

men jeg tror jeg kan finne en løsning på dette, bare jeg finner ut dette med Integrity Level

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...