Hallo,
frohes neues Jahr euch allen! :-) Es gibt bestimmt den einen oder anderen, der entweder für sein Spiel eigens einen HTTP-Server geschrieben hat, oder aber ein Spiel betreut, bei dem er einen HTTP-Server geerbt hat.
Ich bin kurz davor, einen HTTP Server schreiben zu müssen (Sprache wird C++ sein).
Da ich einen Comet Server schreiben möchte, kann ich nicht so einfach auf bestehende Software ausweichen (hier lasse ich mich besoders gerne eines Besseren belehren). Wo ich im Moment noch Probleme sehe, ist beim Parsen eines Requests. Gibt es da Besonderheiten von Client zu Client, die zu berücksichtigen sind?
mfg Todi
HTTP-Server implementieren
gepostet vor 16 Jahre, 10 Monate von Todi42
gepostet vor 16 Jahre, 10 Monate von KoMtuR
Also für die Java-Welt gibts Jetty, wenn du ein embedded Server haben willst, der einen ordentlichen Comet-Support beinhalten soll. Benutze es derzeit auch und man kann die Applikation dann später noch in Tomcat einbinden oder halt in höhere Applikationserver. Auch gibts mittlerweile schon Grizzly-Support fürn Jetty, so dass man noch effizientere Threadverwaltung bei den Requests hat.
Kommt aber halt drauf an, ob du Java nutzen willst (Da du C++ schreibst wohl eher nicht). docs.codehaus.org/display/JETTY/Continuations
Kommt aber halt drauf an, ob du Java nutzen willst (Da du C++ schreibst wohl eher nicht). docs.codehaus.org/display/JETTY/Continuations
gepostet vor 16 Jahre, 10 Monate von TheUndeadable
Vor meiner C#-Zeit (dort nutze ich den HttpListener) hatte ich mal einen provisorischen und funktionsfähigen Http-Server in C++ geschrieben.
Von den Clients her brauchst du keine großen Sonderfälle implementieren, da sich die Browser nahezu vollständig an die HTTP-Standards halten.
> Wo ich im Moment noch Probleme sehe, ist beim Parsen eines Requests.
Dies ist einfacher als es aussieht. Interessant könnten Datei-Uploads sein. Aber bei den einfachen Requests ('POST' per www-from-urlencoded') hat keiner der Browser Probleme gemacht.
Von den Clients her brauchst du keine großen Sonderfälle implementieren, da sich die Browser nahezu vollständig an die HTTP-Standards halten.
> Wo ich im Moment noch Probleme sehe, ist beim Parsen eines Requests.
Dies ist einfacher als es aussieht. Interessant könnten Datei-Uploads sein. Aber bei den einfachen Requests ('POST' per www-from-urlencoded') hat keiner der Browser Probleme gemacht.
gepostet vor 16 Jahre, 10 Monate von Todi42
@KoMtuR: Jetty kannte ich schon, das würde auch zu kompliziert werden, meine Ruby Applikation mit dem Java-Server zu verheiraten. Bei mir bekommt die eingentliche Applikation davon gar nichts mit, da ich mich bei der Persisten-Schicht eingeklinkt habe und Änderungen an den Daten ganz transparent dort abgreife.
@TheUndeadable: Danke, dass wollte ich hören. Dann mach ich mich wohl daran, meinen eigenen HTTP-Server zu schreiben.
@TheUndeadable: Danke, dass wollte ich hören. Dann mach ich mich wohl daran, meinen eigenen HTTP-Server zu schreiben.
gepostet vor 16 Jahre, 10 Monate von Fornax
Dan tu das
Ich hatte mich auch mal dran gesetzt, einen HTTP-Server in C# zu schreiben (ohne irgendwelche fremden Tools). Das parsen der Aufrufe war recht leicht, Cookies gingen auch ganz flott. Wo es angefangen hat mit den Problemen war eine gute Session-Verwaltung. Deshalb musste ich mein Konzept nochmal neu ausarbeiten. Also mein Tipp: Mache dir vorher über alles Gedanken und bring sie zu Papier, und les' die Spezifikationen genau durch. Sonst vergisst man noch lustige Dinge, wie OPTIONS oder HEAD
Ich hatte mich auch mal dran gesetzt, einen HTTP-Server in C# zu schreiben (ohne irgendwelche fremden Tools). Das parsen der Aufrufe war recht leicht, Cookies gingen auch ganz flott. Wo es angefangen hat mit den Problemen war eine gute Session-Verwaltung. Deshalb musste ich mein Konzept nochmal neu ausarbeiten. Also mein Tipp: Mache dir vorher über alles Gedanken und bring sie zu Papier, und les' die Spezifikationen genau durch. Sonst vergisst man noch lustige Dinge, wie OPTIONS oder HEAD
gepostet vor 16 Jahre, 10 Monate von None
Bin selbst auch an der Entwicklung eines eigenen HTTP-Server mit C# (HttpListener). Hab deswegen sogar mal nen Thread aufgemacht. Musst die SuFu benutzen.
NAchtrag: Simpler HTTP-Server in C#
NAchtrag: Simpler HTTP-Server in C#
gepostet vor 16 Jahre, 10 Monate von Todi42
Danke für den Hinweis, da habe ich aber leider nur wenig hilfreiches zu meiner Frage gefunden.