Hej! Om du inte begränsar dig till en server på ett webbhotell så föreslår jag att du skriver en server som jobbar med tcp/ip. Den pratar sedan din klient direkt med, och har en anslutning öppen hela tiden. Om servern vill säga någonting så är det bara att peta ut datan och klienten får den direkt. Tack för svaret! Programmet som körs på webbservern lär vara en windows service. Den lär sedan ha en TcpListener som lyssnar efter inkommande tcp/ip-anslutningar.Stort Projekt - Websida - Program / C#
Jag ska börja med ett stort projekt nu som liknar spelarenan.se, vet ni inte vad det är så förklarar jag nu:
Det funkar så att man registrerar sig på en webbsida (spelarenan.se), sedan laddar man ner ett program!
Nu, kan man på hemsidan gå in på t.ex. public, som då är en lista med servrar man kan spela på, trycker man då anslut så får programmet man har på datorn ip och sådan information om servern, sedan startar programmet användaren har på datorn, spelet och går in på servern man anslöt till!
En grej till är att: En annan registrerad medlem kan lägga till mig som vän, då kommer det upp i programmet en ruta som säger att en vän har lagt till mig.
Grejen jag inte har riktigt bestämt mig för är hur jag ska göra detta med PHP / C#/ AJAX-JavaScript/Och SourcePawn som jag kodar plugin till Spelet counterStrike
Så frågan är hur jag ska få webbsidan att kommunicera med programmet i Realtid.
t.ex. Ansluter man till servern så ska programmet få veta det direkt, och likaså om någon lägger till en annan som vän!
Hur kan jag göra detta så att webbsidan och programmet kommunicerar med varandra i realtid?
Jag har funderat på dessa:
Timer som kollar mysql databas hela tiden: Den idén gillar jag inte så mycket!
Sedan har jag bara lagt en snabb tanke åt SocketServer!
Sen vet jag inte om detta men... Som t.ex. Spotify länkar, så öppnas en spellista i spotify programmet när man trycker på en länk!
Vad bör jag göra och hur?
Tack på förhand //WebbHelpSv: Stort Projekt - Websida - Program / C#
Dessutom, eftersom att du i det här scenariot har ett program som du vet kör hela tiden så är det inga problem med databasen, databasen behöver bara vara backup, för det andra så kan all information kommuniceras direkt i programmet, dvs: klient => server => till alla berörda klienter + databasen.
Hur du ska göra med länkarna vet jag inte riktigt, finns väl lite olika varianter på det hela, men det vanligaste _tror_ jag är att man lägger till en nyckel i registret som säger att ett visst program ska exekveras med URI:n som parameter. Det programmet (troligtvis ditt program) får sedan kommunicera internt till ditt plugin.Sv:Stort Projekt - Websida - Program / C#
Jag kan faktiskt ha ett program på webbservern som ligger och körs hela tiden men har du lust att berätta en nivå högre, förstod inte riktigt hur det skulle gå till, för:
Säg att en medlem trycker på en knapp i webbläsaren, då ska lite info skickas till programmet på clientens dator, t.ex. ett IP som clienten ska ansluta till.
Ska detta gå genom webbservern och sen Till, clientdatorprogrammet?
Men hur gör jag för att få webbserver programmet att veta direkt Realtid om användaren trycker på knappen!
Och ska clientprogrammet kolla en port?Sv: Stort Projekt - Websida - Program / C#
Dessutom har webbservern en webbserver installerad och igång, t.ex. iis, som kör en webbsite du knackat ihop. Webbsiten kan prata med din windows service på något smart sätt, t.ex. genom WCF.
Om programmet alltid är igång när användare använder webbsiten så skulle det räcka med följande:
0) (Klienten har sedan tidigare upprättat en tcp/ip-anslutning med servern)
1) Användaren trycker på knappen
2) Någonting postas till webbsiten
3) Webbsiten kontaktar windows servicen via WCF
4) Windows servicen pratar med klientprogrammet via tcp/ip-anslutningen klienten sedan tidigare har upprättat med servern
5) Klientprogrammet får hitta på vad som helst som är lämpligt att göra nu
Du måste dela upp problemet i lite mindre bitar.. :)