MalefixOmo
Aktives Mitglied
Thread Starter
- Dabei seit
- 19.02.2008
- Beiträge
- 336
- Reaktionspunkte
- 15
Mein Projekt ist ein einfaches Onlinespiel, das wie ein Chat zwischen einem Server und mehreren Clients funktioniert und auf mehreren Plattformen laufen kann (Mac, Windows, Linux, iOS). Als beste kommunikationsart erschien mir deswegen TCP.
Der Mac-Client benutzt dazu NSStream.
Der Server ist auch ein Cocoa-Programm, und soll nicht nur empfangene Nachrichten verarbeiten und Nachrichten senden können, er soll auch Verbindungen aufnehmen können. Da ich nirgendwo herausfinden konnte, wie man einen NSStream als Port-listener benutzt, gehe ich davon aus, dass dies nicht möglich ist. (Stimmt das?)
Also habe ich viel herumgesucht und bin schließlich auf AsyncSocket gestoßen und habe es in meinen Server eingebaut. Nur wenige Testläufe funktionierten, und ich konnte den Grund, warum der Server so oft gecrasht ist, nicht herausfinden. Das "funktioniert/funktioniert nicht"-Muster scheint zufällig.
EDIT: Der Server ist immer beim Senden einer Nachricht vom Client an den Server gecrasht. Alle Threads zeigten entweder nichts oder "mach_msg_trap" (wartender Thread) an.
Also: Ist euch mein Problem bekannt, wie kann ich es beheben?
Bzw: Gibt es einfache(!) Alternativen zu AsyncSocket?
Der Mac-Client benutzt dazu NSStream.
Der Server ist auch ein Cocoa-Programm, und soll nicht nur empfangene Nachrichten verarbeiten und Nachrichten senden können, er soll auch Verbindungen aufnehmen können. Da ich nirgendwo herausfinden konnte, wie man einen NSStream als Port-listener benutzt, gehe ich davon aus, dass dies nicht möglich ist. (Stimmt das?)
Also habe ich viel herumgesucht und bin schließlich auf AsyncSocket gestoßen und habe es in meinen Server eingebaut. Nur wenige Testläufe funktionierten, und ich konnte den Grund, warum der Server so oft gecrasht ist, nicht herausfinden. Das "funktioniert/funktioniert nicht"-Muster scheint zufällig.
EDIT: Der Server ist immer beim Senden einer Nachricht vom Client an den Server gecrasht. Alle Threads zeigten entweder nichts oder "mach_msg_trap" (wartender Thread) an.
Also: Ist euch mein Problem bekannt, wie kann ich es beheben?
Bzw: Gibt es einfache(!) Alternativen zu AsyncSocket?