Finde længden på svar fra et udp kald

Tags:    php

Hejsa!

Jeg er igang med at lave et script der skal kunne hente infomation'er fra en SOF2 server, det går også meget fint og har fået lavet noget der henter det. Men nu har jeg et problem, at det er forskelligt hvor mange spillere der er på serveren og derfor er længden af svaret ikke altid lige langt...
Så jeg ville spørge om der var nogle der havde en ide til hvordan jeg fandt længden af svaret. Så jeg hele tiden vil kunne få alle spillerne!

Her er min kode:

Fold kodeboks ind/udKode 


Håber i kan hjælpe hurtigt:) har meget brug for det. Har prøvet noget med feof($fp), men kunne ikke får det til at virke:(

---
Hilsen Anders
http://anders.java-script.dk



6 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Hejsa!

Jeg er igang med at lave et script der skal kunne hente infomation'er fra en SOF2 server, det går også meget fint og har fået lavet noget der henter det. Men nu har jeg et problem, at det er forskelligt hvor mange spillere der er på serveren og derfor er længden af svaret ikke altid lige langt...
Så jeg ville spørge om der var nogle der havde en ide til hvordan jeg fandt længden af svaret. Så jeg hele tiden vil kunne få alle spillerne!

Her er min kode:

Fold kodeboks ind/udKode 


Håber i kan hjælpe hurtigt:) har meget brug for det. Har prøvet noget med feof($fp), men kunne ikke får det til at virke:(

---
Hilsen Anders
http://anders.java-script.dk


Eftersom det er en UDP-stream kan man ikke snakke om EOF. Det bliver man selv nødt til at definere via næste led i protokolstakken... der må vel eksistere en protokol for kommunikation med den en SOF2 server? Enten noget som fortæller hvor meget data der skal forventes eller noget som indikerer en form for EOF.

Det bedste du kan gøre med en UDP-stream er at læse en byte ad gangen og holde for øje at du ikke kan regne med at modtage alle data. UDP er til forskel fra TCP ikke forbindelsesorienteret og der gives ingen garanti for at data ikke går tabt i transmissionen.




Eftersom det er en UDP-stream kan man ikke snakke om EOF. Det bliver man selv nødt til at definere via næste led i protokolstakken... der må vel eksistere en protokol for kommunikation med den en SOF2 server? Enten noget som fortæller hvor meget data der skal forventes eller noget som indikerer en form for EOF.

Det bedste du kan gøre med en UDP-stream er at læse en byte ad gangen og holde for øje at du ikke kan regne med at modtage alle data. UDP er til forskel fra TCP ikke forbindelsesorienteret og der gives ingen garanti for at data ikke går tabt i transmissionen.


Okey... Tænkte nok det var noget derfor man ikke kunne brug eof. Men ved stadig ikke helt hvordan jeg så skal gøre det. Jeg kan ikke finde nogle måde at se hvor mange spillere der er på serveren og derefter finde ud af hvor mange. Jeg har heller ikke fundet et tegn der er til sidst i svaret.

Nogle der har nogle ide'er? Man kan vel ikke bruge en anden protokol, så svarer den vel ikke, eller hvad?
---
Hilsen Anders
http://anders.java-script.dk



Har du ikke et link eller anden dokumentation som beskriver noget af kommunikationen?



Har du ikke et link eller anden dokumentation som beskriver noget af kommunikationen?


http://www.kquery.com/developer/index.php?article=4

Der kommer mere svar end det der står under SoF2, det der kommer med spillere er vist lige som Q3, minder værtigfaldet lidt om det.

Håber du kan hjælpe:)

---
Hilsen Anders
http://anders.java-script.dk



Prøv evt. følgende:

Fold kodeboks ind/udKode 


Så hentes alle data i forbindelsens buffer (på det tidspunkt koden afvikles)... alle data som ankommer på et senere tidspunkt får du ikke fingrene i, medmindre du prøver igen...

Har desværre ikke lige tid til at sætte mig ind i SOF2 query-svar strukturen...



Prøv evt. følgende:

Fold kodeboks ind/udKode 


Så hentes alle data i forbindelsens buffer (på det tidspunkt koden afvikles)... alle data som ankommer på et senere tidspunkt får du ikke fingrene i, medmindre du prøver igen...

Har desværre ikke lige tid til at sætte mig ind i SOF2 query-svar strukturen...


Ser squ ud til at virke, du er genail.

Du skal nok få dine UP vil barel ige være sikker på det virker helt:)
---
Hilsen Anders
http://anders.java-script.dk



t