neděle 21. září 2008

Spouštěč 3D Worms a lapálie se sítí...

Přesněji se síťovou hrou. Při programování této části programu (stále ji nemám dokončenou, ale blíží se to ;)) se mi podařilo udělat několik začátečnických chyb, kterých teď docela lituju. Protože kdybych na ně přišel dřív, nestrávil bych s nimi tolik času (že? :)). Ale já jsem vlastně začátečník, takže na ty chyby mám vlastně právo :P

Asi první zásadní a nejhloupější chyba byla, že jsem vyměnil protokol UDP za TCP. Na implementaci by byl rychlejší TCP, ale bohužel nefungoval a já nevěděl proč. Poté jsem si nechal (znovu) zachytit pár paketů komunikace mezi mým počítačem a serverem hry Worms 4 (jak ji vyvolalo GameSpy) a myslel jsem, že mě trefí... :D

Další chybička se vloudila v okamžiku, kdy jsem se pokoušel nějak sestrojit UDP. Nechtěně jsem zavolal funkci Close(), takže se připojení vždy uzavřelo a prográmek pak pochopitelně hodil výjimku, že instance objektu je uvolněná. Až pak jsem si všimnul, že tam to CLOSE nemá co dělat a smazal jsem ho - zprovoznil jsem tuto část.

A pak jsem ještě přišel na jednu chybu, na kterou se, pokud se na ni nezaměříte, přichází dost těžko... Hostům her Worms 4 se posílá pro zjištění informací o hře "\basic\\info\", jenže já poslal "\basic\\info". Všimli jste si toho chybějícího lomítka? Ano, to udělalo tu neplechu, že poslal odpověď jen zlomek hostů. Musel jsem opět zachytávat připojení, abych zjistil, že mi tam chybí ;)

A to by bylo asi pro dnešek všechno. Chyb v tom programu je pořád jako máku a já sám nevím, jak se jich zbavím... Například práce s poli... Hotová hrůza. Ale o tom zas někdy příště ;)

Žádné komentáře: