發送消息到客戶端我有啓動服務器的類: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