发送消息到客户端我有启动服务器的类:XSocket.net。如何从一个对象,它是不是一个控制器
public class SocketServer
{
private static IXSocketServerContainer server = null;
public SocketServer()
{
server = XSockets.Plugin.Framework.Composable
.GetExport<IXSocketServerContainer>();
}
public bool StartServers()
{
try
{
server.StartServers();
return true;
} catch
{
return false;
}
}
这个类有一个方法:
public void SendEventMessageToAllClients(string message)
{
XSockets.Core.XSocket.Helpers.XSocketHelper
.SendToAll<MyController>(new MyController(), message, "events");
}
其中MyController
是我自己的控制器,它被实现并且服务器可以找到它并且这个方法工作。
现在我想扩大与新的方法,让我的事件发送到特定的客户端功能:
public void SendEventMessageToClient(string clientId, string message)
{
XSockets.Core.XSocket.Helpers.XSocketHelper
.SendTo<MyController>(new MyController(),
p => p.ClientId == clientId, message, "events");
}
这是正确的做法还是我做错了什么?
谢谢!
嗨弗费,再次感谢我会在星期一尝试它。我提出的解决方案工作正常,但对我来说,创建每一个新控制器也是不对的。谢谢! – Rafa
嗨!感谢您的回答,我选择了选项1,对我来说也是更好的选择,它符合我的需求(是的,我的初学者班是出版商)。我给了你一个投票,但是我不能将你的回答标记为正确,因为如果你不使用ITextArgs,绑定不能正常工作。请看我的答案作为澄清。 – Rafa
你不应该使用ITextArgs,我发现你在你的答案中声明了一个,但是你从不使用它。而且你也不应该使用它。我怀疑你的答案中的代码会起作用。 ITextArgs是从您发送到服务器的任何内容创建的。只有在您不关心内容并且希望将数据传递给订阅者时才使用,无论它是什么。 – Uffe