HDSoftware Skrevet 25. mars 2008 Skrevet 25. mars 2008 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
DeadManWalking Skrevet 25. mars 2008 Skrevet 25. mars 2008 Jeg har ingen erfaring med dette i praksis, men dette er det som kommer opp i hodet mitt: http://msdn2.microsoft.com/en-us/library/m...266(VS.85).aspx
steingrim Skrevet 25. mars 2008 Skrevet 25. mars 2008 (endret) 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 25. mars 2008 av steingrim
Manfred Skrevet 25. mars 2008 Skrevet 25. mars 2008 Mutex er nok ikke greia. Men det spørs hvor mye de skal snakke sammen. Skal de gi små "beskjeder" til hverandre, med kommandoer kan du jo bruke atoms. Jeg er redd named pipes også kan krangle med en firewall eller andre beskyttelsesprogrammer? (Litt om atoms kan du se her: http://www.codeproject.com/KB/dotnet/csharponeinst.aspx)
steingrim Skrevet 25. mars 2008 Skrevet 25. mars 2008 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!
Spartakus Skrevet 25. mars 2008 Skrevet 25. mars 2008 http://www.pinvoke.net/default.aspx/kernel32.CreateNamedPipe + http://www.hsc.fr/ressources/articles/win_...d_pipes_fw.html = ?
alftore Skrevet 25. mars 2008 Skrevet 25. mars 2008 Hva med å bruke WIN32 API kallet SendMessage? Du sa ikke noe om hva slags informasjon som skal sendes mellom programmene. Er det snakk om mye data eller bare enkle events? http://msdn2.microsoft.com/en-us/library/m...950(VS.85).aspx http://www.thescripts.com/forum/thread267595.html
HDSoftware Skrevet 25. mars 2008 Forfatter Skrevet 25. mars 2008 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå