gpt4 book ai didi

wcf - 如何从服务器向 WCF 中的所有客户端发送通知消息(可以说是广播)?

转载 作者:行者123 更新时间:2023-12-01 18:57:21 25 4
gpt4 key购买 nike

我想每秒从 net tcp WCF 服务向所有客户端发送通知消息,你能说广播吗?

在得到有用的答案之后

我编写了以下方法,该方法将向所有连接的用户发送通知(心跳)

foreach (IHeartBeatCallback callback in subscribers)
{
ThreadPool.QueueUserWorkItem(delegate(object state)
{
ICommunicationObject communicationCallback = (ICommunicationObject)callback;
if (communicationCallback.State == CommunicationState.Opened)
{
try
{
callback.OnSendHeartBeat(_heartbeatInfo.message, _heartbeatInfo.marketstart,_heartbeatInfo.marketend, _heartbeatInfo.isrunning, DateTime.Now);
}
catch (CommunicationObjectAbortedException)
{
Logger.Log(LogType.Info, "BroadCast", "User aborted");
communicationCallback.Abort();
}
catch (TimeoutException)
{
Logger.Log(LogType.Info, "BroadCast", "User timeout");
communicationCallback.Abort();
}
catch (Exception ex)
{
Logger.Log(LogType.Error, "BroadCast", "Exception " + ex.Message + "\n" + ex.StackTrace);
communicationCallback.Abort();
}

}
else
{
DeletionList.Add(callback);
}
}
);
}

我担心调用回调方法,因为客户端可能会关闭他的应用程序,但我使用 try catch 处理它,减少超时,并并行发送广播,这样就足够了吗?

最佳答案

您需要设置回调服务;我写了一个simple beginners guide不久前

关于wcf - 如何从服务器向 WCF 中的所有客户端发送通知消息(可以说是广播)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1006058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com