Moin Carsten,
mir fällt im Augenblick kein anderes adäquates Mittel zum Datentransport über ein Netzwerk (Internet, LAN) ein außer TCP/IP (oder UDP) - kannst du mir da mal auf die Sprünge helfen?
Stellwerk-API Zwischenbericht
-
- Beiträge: 4
- Registriert: 03.10.2006 11:59:13
Zuletzt geändert von Spontifixus am 05.10.2006 17:23:53, insgesamt 1-mal geändert.
- Roland Ziegler
- Beiträge: 5512
- Registriert: 04.11.2001 22:09:26
- Wohnort: 32U 0294406 5629020
- Kontaktdaten:
Das API ist im Moment noch .Net 1.1 Ich werde es aber auf 2.0 umstellen, denn dann kann ich auch Templates (aka Generics) unter C# nutzen, was mir als langjährigem C++-Menschen doch gewisse Vereinfachungen gestatten wird.
Zum generellen Design: Sicher muss man das eigene Klassenkonzept nicht unbedingt von einer Außenschnittstelle abhängig machen. Allerdings gibt es halt erhebliche Freiheitsgrade für State und Behavior, wie und wo man das jeweils unterbringt. Beim Stellwerk gibt es vor allem für die Abhängigkeits-/Verriegelungslogik häufig zwei Möglichkeiten, welcher der beiden beteiligten Klassen man das jeweils zuschreibt.
Nachtrag: Wie im ersten Posting geschrieben: Die Schnittstelle basiert auf .Net Remoting. Das ist ein verteilter Objektmechanismus, mit ganz unten drin auch TCP/IP. Zwar wird .Net Remoting von MS nicht mehr favorisiert, der derzeitige Favorit XML-WebServices ist hier aber denkbar ungeeignet, da immer stateless.
Zum generellen Design: Sicher muss man das eigene Klassenkonzept nicht unbedingt von einer Außenschnittstelle abhängig machen. Allerdings gibt es halt erhebliche Freiheitsgrade für State und Behavior, wie und wo man das jeweils unterbringt. Beim Stellwerk gibt es vor allem für die Abhängigkeits-/Verriegelungslogik häufig zwei Möglichkeiten, welcher der beiden beteiligten Klassen man das jeweils zuschreibt.
Nachtrag: Wie im ersten Posting geschrieben: Die Schnittstelle basiert auf .Net Remoting. Das ist ein verteilter Objektmechanismus, mit ganz unten drin auch TCP/IP. Zwar wird .Net Remoting von MS nicht mehr favorisiert, der derzeitige Favorit XML-WebServices ist hier aber denkbar ungeeignet, da immer stateless.
Zuletzt geändert von Roland Ziegler am 05.10.2006 17:29:34, insgesamt 1-mal geändert.
-
- Beiträge: 48
- Registriert: 17.07.2002 21:45:49
Wie genau stellst du dir das vor? Einen gesonderten "Hand-off" wie im Flugverkehr gibt es bei der Eisenbahn nicht; er passiert quasi automatisch, sobald ein Zug den Bereich eines Fdl verlässt.Spontifixus hat geschrieben:Eine multiplayertaugliche Stellwerkssimulation muss aber noch eine ganze Menge mehr können. So müssen z.B. Hand-Offs zwischen einzelnen FDL möglich sein,
Das ist so schlimm garnicht. Du brauchst eine Liste aller Abschnitte, in denen Züge beginnen oder enden können, sowie Fortschaltungsbedingungen für die angrenzenden Felder (die lassen sich auch automatisch generieren). Auf Basis eines TCP-Servers ist das ziemlich einfach, abgesehen vom Datenaufwand bei einer größeren Anlage. Habe mal etwas vergleichbares implementiert. Anbieten und Annehmen kann damit auch realisiert werden.Spontifixus hat geschrieben:es muss ein generelles, systemweites Zugmeldesystem geben,
Wenn es dafür eine befriedigende automatische Lösung gebe, würde man heutzutage nicht so viel "Manpower" in die Erstellung von ESTW-Bedienoberflächen stecken. Denn jede Betriebsstelle hat ihre Besonderheiten, die berücksichtigt werden wollen.Spontifixus hat geschrieben:und die Stellwerkssoftware muss ZuSi-Strecken lesen und in brauchbare Gleispläne umrechnen können.
Grüße,
Björn
-
- Beiträge: 3410
- Registriert: 04.11.2001 20:39:16
- Aktuelle Projekte: Nothing in particular
- Wohnort: Erftstadt
- Kontaktdaten:
Kein Handoff?
Dazu ein Dialog von einer sehr großen Modellbahn eines Freundes (mit Haustelefon von einem Zimmer ins nächste und passendem Tunnel durch die Wand:
"Wird D220 angenommen?"
"NEIN!!!!!!"
Dazu ein Dialog von einer sehr großen Modellbahn eines Freundes (mit Haustelefon von einem Zimmer ins nächste und passendem Tunnel durch die Wand:
"Wird D220 angenommen?"
"NEIN!!!!!!"
Zuletzt geändert von Mirko am 09.10.2006 21:17:43, insgesamt 1-mal geändert.
Man sollte sich immer gut überlegen, was man sich wünscht. Manchmal passiert es, dass man es kriegt (Meat Loaf)