mboost-dp1
Irriterende fejl med winsock
- Forside
- ⟨
- Forum
- ⟨
- Programmering
Hej jeg har skrevet en lille server applikation, i det efterhånden gamle borland delphi 6..
Det er en server til et lille multiplayer flash spil jeg er ved, at lave men jeg har et problem..
tilslutter jeg med to klienter, virker det som om serveren lagger når der kun er en spiller der bevæger sig, hvis begge spillere bevæger sig kører det flydende...
Skummelt tænkte jeg og startede telnet op på både server og en klient, og tilsluttede mig serveren..
Nu har jeg fundet ud af at det ser ud som om at serveren sender 4-8 beskeder af gangen, hvilket kan forklare lagget (da spilleren kun vil se ud som om han flytter sig efter sidste besked)
men på server siden ser beskerne ud til at rulle ordentlig afsted. (altså ikke komme i chunks af flere beskeder). Jeg ved ikke om det er min elendige programmering, om det er windows der prioriterer pakkerne for mig eller min router der gør noget..
Nogen der har forslag til en løsning?
Det er en server til et lille multiplayer flash spil jeg er ved, at lave men jeg har et problem..
tilslutter jeg med to klienter, virker det som om serveren lagger når der kun er en spiller der bevæger sig, hvis begge spillere bevæger sig kører det flydende...
Skummelt tænkte jeg og startede telnet op på både server og en klient, og tilsluttede mig serveren..
Nu har jeg fundet ud af at det ser ud som om at serveren sender 4-8 beskeder af gangen, hvilket kan forklare lagget (da spilleren kun vil se ud som om han flytter sig efter sidste besked)
men på server siden ser beskerne ud til at rulle ordentlig afsted. (altså ikke komme i chunks af flere beskeder). Jeg ved ikke om det er min elendige programmering, om det er windows der prioriterer pakkerne for mig eller min router der gør noget..
Nogen der har forslag til en løsning?
Nu ved jeg ikke hvad det er for et spil, men i nogler typer spil kan man bruge en model, med en tyk klient, hvor spillet faktisk kører autonomt og så kun sender resultater til serveren. Eg. "Monster dræbt", "Kugle skudt i retning xy". Så vil der være en slags syncronisering mellem klient og server. (= så behøves du ikke at vente på svar fra serveren. Bare lad din char forsætte og så syncroniser assyncront.)
Jeg havde også lidt tænkt på en løsning alá det.. men det hjælper ikke rigtigt, da der gerne skulle være så lidt latency som muligt.
Skyder man f.eks kan der nogle gange være 1/3 sekund forsinkelse fra den ene klient til den anden... hvilket ville give en dårlig spil oplevelse...
Det mest optimale ville være at min server bare virkede :(
Det virker lidt som om at beskerne først bliver sendt når en eller anden buffer er fyldt op, men jeg kan ikke finde nogle steder at indstille denne..
Skyder man f.eks kan der nogle gange være 1/3 sekund forsinkelse fra den ene klient til den anden... hvilket ville give en dårlig spil oplevelse...
Det mest optimale ville være at min server bare virkede :(
Det virker lidt som om at beskerne først bliver sendt når en eller anden buffer er fyldt op, men jeg kan ikke finde nogle steder at indstille denne..
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.