using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Text; using QM.Exchange.Interface; namespace QM.Exchange.Core.Services { /// /// 服务端时间同步服务 /// public class ServerTimeService : IService { /// /// 运行标志 /// private bool _running = false; public void Start() { _running = true; while (_running) { DuplexMessageService dmService = new DuplexMessageService(); //获取客户端会话ID列表 string[] clientIDList = null; clientIDList = dmService.GetClientList().Keys.ToArray(); //定义消息 CommonMessage msg = new CommonMessage(); msg.MsgID = Guid.NewGuid().ToString(); msg.MsgType = "UpdateSystemTime"; msg.Content = QMFrameWork.Common.Serialization.JsonConvertHelper.GetSerializes(DateTime.Now); //向所有客户端发送系统时间 for (int i = 0; i < clientIDList.Length; i++) { string sessionID = clientIDList[i]; dmService.SendMessageToClient(sessionID, msg); } System.Threading.Thread.Sleep(1000); } } public void Stop() { _running = false; } } }