Jag har flera gånger velat skriva olika nätverksapplikationer men alltid fastnat på just strulet med kommunikationen på Socket/TCP/UDP-nivå och trådar för att hantera alla klienter. Jag tycker mig inte ha tid att sätta mig in i detta, så nu letar jag efter ett färdigt paket som kan hantera en server och valfritt antal klienter. Men så jobbigt är det väl inte att skriva själv? Servern sparkar igång en ny tråd för varje klient och klienten har en tråd som ligger och lyssnar på data. Klienten kan då sända ifrån den tråd som inte lyssnar. Sedan kan du skapa ett simpelt protokoll för att hantera olika pokerkommandon och chatmeddelanden. Om du är intresserad har jag en implementation av Pictionary med just den modellen i Java. Jobbigt och jobbigt, det är en fråga om tid och vad man vill fokusera på. Jag har mycket begränsat med tid över för fritidsprogrammering, så jag vill fokusera på funktionaliteten och inte grotta ner mig i en massa tekniskt strul, det får jag tillräckligt av på jobbet. Du har rätt i att det brukar bli åtminstone lite teknikproblem. Den mest spännande kommunikationsplattformen som är gratis just nu tycker jag är JXTA, men då är det Java och P2P-arkitektur. Kanske kommer det att portas så småningom. Men det verkar tunt med kommunikationsplattformar för .NET, hittar tyvärr inte mycket intressant. När det gäller nätverksfunktioner så finns väl en del godis i System.netKlasser/programpaket för kommunikation med Sockets/TCP/UDP
Ett exempel är en pokerklient och en pokerserver. Det mesta som sker under en hand är ju synkront, dvs servern meddelar en klient att "nu är det din tur", och sedan väntar servern på svar. Klienten å sin sida väntar på meddelandet "nu är det din tur" och därefter låter man användaren agera.
Bredvid detta vill man ju gärna ha en chat-funktion, så även om klienten står och väntar på att det är dess tur så skall den ju kunna skicka chat-meddelanden under tiden (i en annan tråd gissar jag).
Dessutom vore det ju bra om någon slags login-förfarande redan finns implementerat.
Detta måste ju ha skrivits om och om igen varje gång någon gör ett nätverksspel, men varje gång jag börjat leta efter färdiga paket så har jag misslyckats med att hitta något av värde. Är det så jäkla komplext att ingen lägger ut sådant gratis eller har jag bara letat på fel ställen? Finns det kommersiella produkter för detta?Sv: Klasser/programpaket för kommunikation med Sockets/TCP/UDP
En annan modell är ju att använda asynkron I/O, då slipper du alla trådar.
/AndréSv:Klasser/programpaket för kommunikation med Sockets/TCP/UDP
Sv: Klasser/programpaket för kommunikation med Sockets/TCP/UDP
Sv: Klasser/programpaket för kommunikation med Sockets/TCP/UDP