Gå til innhold

Anbefalte innlegg

Hei, jeg skal lage et program som pakker ut filer for meg (TV-serier, filmer o.l.). Jeg vil at kun én utpakking skal skje av gangen. Nødvendig info til programmet fåes med argumenter via kommandolinja.

 

Det er her greia med pipes kommer inn (tror jeg). Første instanse (server) av programmet oppretter en pipe og lytter på denne så lenge programmet (utpakkingen) kjører. Dersom en ny instanse av programmet (klient) opprettes - vil jeg at den nye instansen, i stedet for å starte utpakkingen, skal koble seg mot en pipe og overføre informasjonen om ny utpakkingsjobb til server. Deretter skal klienten avslutte. Server dytter da nye utpakkinger til en kø.

 

Har søkt rundt på nettet etter eksempler, men synes de er altfor omstendelige. Jeg får liksom ikke tak i det aller nødvendigste. Ta DENNE feks, ren overkill for mitt bruk. Har fått med meg at det er noe som heter "Anonymous Pipes" og "Named Pipes", vet ikke hva som er best for meg.

 

Ser for meg at server oppretter en pipe og kjører lytting av denne pipen i en egen tråd. Utpakking skjer så lenge det er objekter i køen. Dersom køen er tom -> avslutt.

 

Ideén for å lage dette programmet har jeg fått fra et program som heter SCuN - Scene Unpack tool. Brukte det til å pakke ut ting jeg har lasta ned tidligere. Dette programmet benytter IPC for å køe opp utpakkingene. Pga liten fleksibilitet dekker den ikke lenger behovet mitt.

 

Noen som har vært borti pipes i C# før og vet hvordan jeg oppretter, leser og skriver til denne pipen? :)

 

Edit:

Fant noe kode som så interessant ut HER, men den er, etter det jeg kan skjønne, skrevet for .NET 2.0 beta. Etter litt småfiks får jeg kompilert koden (server), men ved kjøring krasjer programmet med en "NullReferenceException" :(

 

Edit 2:

Nå fant jeg endelig noe som funker. På DENNE sida fant jeg en ferdig solution på IPC kommunikasjon. Kan lastes ned HER

Endret av xtc
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...