Hallo,
ich beschäftige mich aktuell (aufgrund eines super Tipps von hier) mit der Zyan Framework.
Dabei habe ich ein Verständnisproblem: Wie schaffe ich es einen bestimmten verbundenen Client (und zwar nur diesem) eine Nachricht zu übermitteln?
Als Grundlage habe ich versucht das Beispiel von Rainbird Zyan Communication Framework
umzuändern:
public void NotifyClient(int index, string message)
{
var a = _subscribers.Values.ElementAt<Action<string>>(index);
a(message);
}
Wenn nun zwei Clients gestartet werden (testweise wird die Methode in einem Timer zyklisch aufgerufen) bekommt der zweite dennoch die Message zu sehen. Könnt ihr mir Helfen?
Vielen Dank und Viele Grüße--Tobi
Hallo,
nach stundenlangen probieren bin ich selbst auf die Lösung des Problems gekommen.. Wie so oft ist sie einfacher als gedacht:
Beim Registrieren der Komponente muss man beim Host den ActivationType angeben.
AppService.AppEnv.Host.RegisterComponent<ISomeServerComponent, SomeServerComponent>(ActivationType.Singleton);
Dann klappts auch 😃
Hallo alanblack,
meine Antwort kommt zwar spät, aber vielleicht ist sie ja trotzdem noch für Dich nützlich. Ich habe eine Beispiel-Applikation geschrieben, wie man einzelne Clients mit Hilfe von Zyan benachrichtigen kann.
Du findest es im aktuellen Zyan Code Repository auf zyan.codeplex.com.
Es liet im Ordner examples und heißt Zyan.Examples.WhisperChat.
Hier hatte jemand ein ähnliches Problem: http://zyan.codeplex.com/discussions/430015
Gruß
Rainbird