Trädvy Permalänk
Medlem
Plats
Uppsala
Registrerad
Sep 2002

Klient-Server program, hur?

Tänkte göra ett program, som flera ska använda samtidigt, dvs några personer på samma nätverk. Jag tänkte göra det i klient-server variant. Så att varje användare har en varsin klient som alla arbetar mot servern som har en databas.

Hur löser jag kommunikationen bäst och enklast mellan klienterna och servern? Har ni gjort något liknande, isåfall hur löste ni kommunikationen?

Trädvy Permalänk
Medlem
Plats
Västerås
Registrerad
Jun 2005

Varför inte skapa en applikation i PHP och köra i en webläsare istället ?

Och använda MySQL eller kanske SQLite som databas.

Fractal Design Arc Svart | MSI Z68A-GD55 G3 REV B3 | Intel® Core i7 2600K, 3.4GHz, 8MB | Corsair 16GB (4x4096MB) CL9 1600Mhz VENGEANCE LP | MSI GeForce GTX 670 | Phanteks PH-TC14PE CPU Cooler (vit) | Corsair Power Supply 650W TX M, Modular, ATX, PS/2 | SSD (okänd tillverkare) + 2 äldre SATA2 diskar på 750 Gb, 350 gb. | OS: Microsoft Windows 10 home.

Trädvy Permalänk
Medlem
Plats
Borlänge
Registrerad
Mar 2005

Vilket/vilka operativsystem ska systemet köras på? Hur stora krav har du på säkerhet? Vad ska ditt system göra?

Pipes, RPC och sockets är några metoder på litet lägre nivå, web services är på litet högre nivå.

Bra, snabbt, billigt; välj två.

Ljud
PC → ODAC → Objective2 → Sennheiser HD650/Ultrasone PRO 900
Portabelt → Sennheiser Momentum/Sennheiser Urbanite XL/Sennheiser Momentum In-Ear

Trädvy Permalänk
Medlem
Plats
Uppsala
Registrerad
Sep 2002
Citat:

Ursprungligen inskrivet av Phod
Vilket/vilka operativsystem ska systemet köras på? Hur stora krav har du på säkerhet? Vad ska ditt system göra?

Pipes, RPC och sockets är några metoder på litet lägre nivå, web services är på litet högre nivå.

Har inte bestämt mig allt för mycket än. Har bara tänkt på lite idéer. Klienten blir förmodligen Windows, men vore ju bra om det går att göra klienter för andra plattformar också. Servern kan bli Linux, men Windows är inte uteslutet det heller.

Inga speciella krav på säkerhet, men inloggning krävs och det är väl bra att ha så säkert som möjligt.

Tänkte mest på vilka typer av lösningar det finns för sånna här typer av program.

Pipes - Vad är det?
RPC - Hm, verkar intressant, men ganska låg nivå som sagt. Blir det inte jobbigt att handera tillståndet i programmet här?
Sockets - Känns väldigt lågnivå, du menar att jag ska designa ett eget protokoll för programmet?
Web Services - Har funderat på det, används det mycket i klient-server-program? Har fått bilden av att det mest används för småtjänster på Internet.

Sen finns väl
CORBA - bara hört lite om det, verkar lite klumpigt.
Java RMI - men då blir man knuten till Java. Har .NET nåt motsvarande?

Tänkte inte göra klienten i en webbläsare, den blir för begränsad då, iallafall just nu.

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Maj 2007

XML-RPC är webservice-standard nästintill, och borde vara rätt väg att gå om du har olika klienter skrivna olika språk... CORBA är standard för att distrubera objekt, men när jag kollade på det tyckte jag att det var väldigt tungrott. Kan ha ändrats dock.

Trädvy Permalänk
Medlem
Plats
Borlänge
Registrerad
Mar 2005
Citat:

Ursprungligen inskrivet av erciz
Har inte bestämt mig allt för mycket än. Har bara tänkt på lite idéer. Klienten blir förmodligen Windows, men vore ju bra om det går att göra klienter för andra plattformar också. Servern kan bli Linux, men Windows är inte uteslutet det heller.

Inga speciella krav på säkerhet, men inloggning krävs och det är väl bra att ha så säkert som möjligt.

Tänkte mest på vilka typer av lösningar det finns för sånna här typer av program.

Pipes - Vad är det?
RPC - Hm, verkar intressant, men ganska låg nivå som sagt. Blir det inte jobbigt att handera tillståndet i programmet här?
Sockets - Känns väldigt lågnivå, du menar att jag ska designa ett eget protokoll för programmet?
Web Services - Har funderat på det, används det mycket i klient-server-program? Har fått bilden av att det mest används för småtjänster på Internet.

Sen finns väl
CORBA - bara hört lite om det, verkar lite klumpigt.
Java RMI - men då blir man knuten till Java. Har .NET nåt motsvarande?

Tänkte inte göra klienten i en webbläsare, den blir för begränsad då, iallafall just nu.

Det sätt för ditt program att kommunicera med servern beror mycket på vilken typ av program det är. Om det frekvent skickar enkla frågor kan det vara lämpligt att välja någon lågnivåmetod, men om det skickar komplicerade datastrukturer litet då och då kan det vara av intresse att lägga sig på en högre nivå. Jag tror att jag på ett eller annat sätt använt alla metoder du nämnt, förutom Java RMI, någon gång, och alla har sina för- och nackdelar.

Du kan ju givetvis välja en metod som du är intresserad av att lära dig och strunta i om det inte är helt rätt för ditt program.

Bra, snabbt, billigt; välj två.

Ljud
PC → ODAC → Objective2 → Sennheiser HD650/Ultrasone PRO 900
Portabelt → Sennheiser Momentum/Sennheiser Urbanite XL/Sennheiser Momentum In-Ear

Trädvy Permalänk
Medlem
Plats
Sthlm
Registrerad
Okt 2001

WCF är väl det som man bör använda i .NET, eller iaf det microsoft pushar för
http://en.wikipedia.org/wiki/Windows_Communication_Foundation
Om man publicerar sina tjänster som webservicear så funkar det även med andra språk som tex Java eller c++.
Jag har använt det både mellan web-lager och applikationslager och mellan windowsapp - applikationslager där det fungerat utmärkt, och även kört med java-server och klient (även om det kan uppstå en del konfigureringsproblem när java o .net ska prata med varandra, tex om man låter wcf sköta inloggning för en klient).

AK47s for everyone! - Angry mob
Since NaN /= NaN, I think, we should decipher 'NaN' as 'Not a NaN' - Miguel Mitrofanov
(Varför är människan så benägen att tro på Gud?) Antagligen har det lönat sig och evolutionen har drivit fram sådana hjärnor. - Anon