/// <summary> /// 构造方法 /// </summary> /// <param name="options">下载器代理选项</param> /// <param name="spiderOptions"></param> /// <param name="eventBus">消息队列</param> /// <param name="networkCenter">网络中心</param> /// <param name="logger">日志接口</param> public LocalDownloaderAgent(DownloaderAgentOptions options, SpiderOptions spiderOptions, IEventBus eventBus, NetworkCenter networkCenter, ILogger <LocalDownloaderAgent> logger) : base(options, spiderOptions, eventBus, networkCenter, logger) { // ConfigureDownloader = downloader => downloader.Logger = null; }
public GeneralResponse AddCenter(IEnumerable <AddCenterRequest> requests, Guid CreateEmployeeID) { GeneralResponse response = new GeneralResponse(); try { foreach (var request in requests) { Center center = new Center(); center.ID = Guid.NewGuid(); center.CreateDate = PersianDateTime.Now; center.CreateEmployee = _employeeRepository.FindBy(CreateEmployeeID); center.CenterName = request.CenterName; center.Note = request.Note; center.RowVersion = 1; _centerRepository.Add(center); // be jaye Triggere After Insert. NetworkCenter-ha insert mishavad IList <NetworkCenter> networkCenters = new List <NetworkCenter>(); foreach (Network network in _networkRepository.FindAll()) { NetworkCenter networkCenter = new NetworkCenter(); networkCenter.Network = network; networkCenter.Center = center; networkCenter.CreateDate = PersianDateTime.Now; networkCenter.CreateEmployee = center.CreateEmployee; networkCenter.Status = NetworkCenterStatus.NotDefined; networkCenter.RowVersion = 1; networkCenters.Add(networkCenter); } center.NetworkCenters = networkCenters; #region Validation if (center.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in center.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } #endregion _centerRepository.Add(center); } _uow.Commit(); } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); } return(response); }
public GetNetworkCenterResponse GetNetworkCenter(GetRequest2 request) { GetNetworkCenterResponse response = new GetNetworkCenterResponse(); try { NetworkCenter networkCenter = new NetworkCenter(); NetworkCenterView networkCenterView = networkCenter.ConvertToNetworkCenterView(); Infrastructure.Querying.Query query = new Infrastructure.Querying.Query(); Criterion criteria1 = new Criterion("Network.ID", request.ID1, CriteriaOperator.Equal); Criterion criteria2 = new Criterion("Center.ID", request.ID2, CriteriaOperator.Equal); query.Add(criteria1); query.Add(criteria2); networkCenter = _networkCenterRepository.FindBy(query).FirstOrDefault(); if (networkCenter != null) { networkCenterView = networkCenter.ConvertToNetworkCenterView(); } response.NetworkCenterView = networkCenterView; } catch (Exception ex) { } return(response); }
/// <summary> /// 构造方法 /// </summary> /// <param name="options">下载器代理选项</param> /// <param name="eventBus">消息队列</param> /// <param name="networkCenter">网络中心</param> /// <param name="logger">日志接口</param> protected DownloaderAgentBase( DownloaderAgentOptions options, IEventBus eventBus, NetworkCenter networkCenter, ILogger logger) { _eventBus = eventBus; _options = options; Framework.NetworkCenter = networkCenter; Logger = logger; }
/// <summary> /// 构造方法 /// </summary> /// <param name="options">下载器代理选项</param> /// <param name="spiderOptions"></param> /// <param name="eventBus">消息队列</param> /// <param name="networkCenter">网络中心</param> /// <param name="logger">日志接口</param> protected DownloaderAgentBase( DownloaderAgentOptions options, SpiderOptions spiderOptions, IMq eventBus, NetworkCenter networkCenter, ILogger logger) { _spiderOptions = spiderOptions; _mq = eventBus; _options = options; Framework.NetworkCenter = networkCenter; Logger = _mq is ThroughMessageQueue ? null : logger; }
/// <summary> /// 构造方法 /// </summary> /// <param name="options">下载器代理选项</param> /// <param name="spiderOptions"></param> /// <param name="eventBus">消息队列</param> /// <param name="networkCenter">网络中心</param> /// <param name="logger">日志接口</param> protected DownloaderAgentBase( DownloaderAgentOptions options, SpiderOptions spiderOptions, IEventBus eventBus, NetworkCenter networkCenter, ILogger logger) { _spiderOptions = spiderOptions; _eventBus = eventBus; _options = options; Framework.NetworkCenter = networkCenter; Logger = _eventBus is LocalEventBus ? null : logger; }
public GeneralResponse EditNetworkCenter(EditNetworkCenterRequest request) { GeneralResponse response = new GeneralResponse(); NetworkCenter networkCenter = new NetworkCenter(); Infrastructure.Querying.Query query = new Infrastructure.Querying.Query(); Criterion criteria1 = new Criterion("Network.ID", request.NetworkID, CriteriaOperator.Equal); Criterion criteria2 = new Criterion("Center.ID", request.CenterID, CriteriaOperator.Equal); query.Add(criteria1); query.Add(criteria2); networkCenter = _networkCenterRepository.FindBy(query).FirstOrDefault(); if (networkCenter != null) { try { networkCenter.Status = (NetworkCenterStatus)request.Status; networkCenter.CanSale = request.CanSale; if (networkCenter.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in networkCenter.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } _networkCenterRepository.Save(networkCenter); _uow.Commit(); ////response.success = true; } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); } } else { response.ErrorMessages.Add("NoItemToEditKey"); } return(response); }
static void threadFun(object ob) { param o = ob as param; NetworkCenter c = o.c; c.recvCompleted += (arg) => { NetworkIOArgs args = arg as NetworkIOArgs; if (args.State != NetworkState.Closed) { Console.WriteLine(Encoding.UTF8.GetString(args.Data, 0, args.Count)); c.Recv(); } else { System.Diagnostics.Process.GetCurrentProcess().Kill(); } }; c.Recv(); }
public GeneralResponse AddNetworkCenter(AddNetworkCenterRequest request) { GeneralResponse response = new GeneralResponse(); try { NetworkCenter networkCenter = new NetworkCenter(); networkCenter.Network = _networkRepository.FindBy(request.NetworkID); networkCenter.Center = _centerRepository.FindBy(request.CenterID); networkCenter.CreateDate = PersianDateTime.Now; networkCenter.CreateEmployee = _employeeRepository.FindBy(request.CreateEmployeeID); networkCenter.Status = (NetworkCenterStatus)request.Status; networkCenter.CanSale = request.CanSale; networkCenter.RowVersion = 1; _networkCenterRepository.Add(networkCenter); _uow.Commit(); ////response.success = true; // Validation if (networkCenter.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in networkCenter.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); } return(response); }
public GeneralResponse EditCoverage(IEnumerable <NetworkCenterView> requests, Guid CenterID) { GeneralResponse response = new GeneralResponse(); foreach (var request in requests) { try { NetworkCenter networkCenter = new NetworkCenter(); Infrastructure.Querying.Query query = new Infrastructure.Querying.Query(); Criterion criteria = new Criterion("Network.ID", request.NetworkID, CriteriaOperator.Equal); query.Add(criteria); criteria = new Criterion("Center.ID", CenterID, CriteriaOperator.Equal); query.Add(criteria); networkCenter = _networkCenterRepository.FindBy(query).FirstOrDefault(); networkCenter.Status = (NetworkCenterStatus)request.StatusInt; _networkCenterRepository.Save(networkCenter); } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); return(response); } } try { _uow.Commit(); } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); return(response); } return(response); }
// Gather current state and oldest known state and send to client(s) void SendResumeMessage(State currentState, State oldestState, string targetGuid = null) { byte[] currentStateData; byte[] oldestStateData; currentStateData = NetworkCenter.Instance.serializer.Serialize(currentState); oldestStateData = NetworkCenter.Instance.serializer.Serialize(oldestState); float timeToResume; if (targetGuid == null) { // send to all timeToResume = NetworkSync.Instance.GetLagTime(); GetComponent <NetworkView>().RPC("ResumeGame", RPCMode.All, currentStateData, oldestStateData, timeToResume); } else { NetworkPlayer player; if (NetworkCenter.TryGetNetworkPlayerForGuid(targetGuid, out player)) { timeToResume = NetworkSync.Instance.GetLagTime(targetGuid); GetComponent <NetworkView>().RPC("ResumeGame", player, currentStateData, oldestStateData, timeToResume); } } }
public static NetworkCenterView ConvertToNetworkCenterView(this NetworkCenter networkCenter) { return(Mapper.Map <NetworkCenter, NetworkCenterView>(networkCenter)); }
public GeneralResponse AddNetwork(AddNetworkRequestOld request) { GeneralResponse response = new GeneralResponse(); try { Network network = new Network(); network.ID = Guid.NewGuid(); network.CreateDate = PersianDateTime.Now; network.CreateEmployee = _employeeRepository.FindBy(request.CreateEmployeeID); network.DeliverWhenCreditLow = request.DeliverWhenCreditLow; network.NetworkName = request.NetworkName; network.Note = request.Note; network.RowVersion = 1; // Validation if (network.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in network.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } // be jaye Triggere After Insert. NetworkCenter-ha insert mishavad IList <NetworkCenter> networkCenters = new List <NetworkCenter>(); foreach (Center center in _centerRepository.FindAll()) { NetworkCenter networkCenter = new NetworkCenter(); networkCenter.Network = network; networkCenter.Center = center; networkCenter.CreateDate = PersianDateTime.Now; networkCenter.CreateEmployee = network.CreateEmployee; networkCenter.Status = NetworkCenterStatus.NotDefined; networkCenter.RowVersion = 1; networkCenters.Add(networkCenter); } network.NetworkCenters = networkCenters; _networkRepository.Add(network); _uow.Commit(); ////response.success = true; } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); if (ex.InnerException != null) { response.ErrorMessages.Add("FIRST INNER EXPCEPTION: " + ex.InnerException.Message); if (ex.InnerException.InnerException != null) { response.ErrorMessages.Add("SECOND INNER EXPCEPTION: " + ex.InnerException.InnerException.Message); } } } return(response); }
public GeneralResponse AddNetworks(IEnumerable <AddNetworkRequest> requests, Guid CreateEmployeeID) { GeneralResponse response = new GeneralResponse(); try { foreach (AddNetworkRequest request in requests) { Network network = new Network(); network.ID = Guid.NewGuid(); network.CreateDate = PersianDateTime.Now; network.CreateEmployee = _employeeRepository.FindBy(CreateEmployeeID); network.DeliverWhenCreditLow = request.DeliverWhenCreditLow; network.NetworkName = request.NetworkName; network.Note = request.Note; network.SortOrder = GetSortOrder(); network.Discontinued = request.Discontinued; network.Alias = request.Alias; network.RowVersion = 1; // Validation if (network.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in network.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } // be jaye Triggere After Insert. NetworkCenter-ha insert mishavad IList <NetworkCenter> networkCenters = new List <NetworkCenter>(); foreach (Center center in _centerRepository.FindAll()) { NetworkCenter networkCenter = new NetworkCenter(); networkCenter.Network = network; networkCenter.Center = center; networkCenter.CreateDate = PersianDateTime.Now; networkCenter.CreateEmployee = network.CreateEmployee; networkCenter.Status = NetworkCenterStatus.NotDefined; networkCenter.RowVersion = 1; networkCenters.Add(networkCenter); } network.NetworkCenters = networkCenters; _networkRepository.Add(network); } _uow.Commit(); } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); if (ex.InnerException != null) { response.ErrorMessages.Add(ex.InnerException.Message); } } return(response); }
/// <summary> /// 构造方法 /// </summary> /// <param name="options">下载器代理选项</param> /// <param name="mq">消息队列</param> /// <param name="downloaderAllocator">分配下载器的接口</param> /// <param name="networkCenter">网络中心</param> /// <param name="logger">日志接口</param> public LocalDownloaderAgent(IDownloaderAgentOptions options, IDynamicMessageQueue dmq, IMessageQueue mq, IDownloaderAllocator downloaderAllocator, NetworkCenter networkCenter, ILogger <LocalDownloaderAgent> logger) : base(options, dmq, mq, downloaderAllocator, networkCenter, logger) { // ConfigureDownloader = downloader => downloader.Logger = null; }
/// <summary> /// 构造方法 /// </summary> /// <param name="options">下载器代理选项</param> /// <param name="spiderOptions"></param> /// <param name="eventBus">消息队列</param> /// <param name="networkCenter">网络中心</param> /// <param name="logger">日志接口</param> public DefaultDownloaderAgent(DownloaderAgentOptions options, SpiderOptions spiderOptions, IEventBus eventBus, NetworkCenter networkCenter, ILogger <DefaultDownloaderAgent> logger) : base(options, spiderOptions, eventBus, networkCenter, logger) { }
static void Main(string[] args) { long time = DateTime.Now.ToFileTimeUtc(); int seed = (int)(time ^ (time >> 32)); Random ran = new Random(seed); NetworkCenter login = new NetworkCenter(); login.Connect("192.168.224.129", 8081); login.loginCompleted += (ar) => { NetworkIOArgs arg = ar as NetworkIOArgs; JObject obj = (JObject)JsonConvert.DeserializeObject(Encoding.UTF8.GetString(arg.Data)); if (obj["code"].ToString() == "200") { JToken servers = obj["servers"]; JToken server = servers.First; int port = Convert.ToInt32(server.First["port"].ToString()); //string ip = server.First[""].ToString(); string uid = obj["uid"].ToString(); string sid = obj["sid"].ToString(); login.ReConnect("192.168.224.129", 8082); login.connGameServerCompleted += (a) => { int x = ran.Next(100); int y = ran.Next(100); // int z = ran.Next(100); Thread t = new Thread(threadFun); t.Start(new param() { c = login }); //int x = 50; //int y = 50; int z = 0; while (true) { string str = string.Format("{0}:{1}:{2}:45", x, y, z); login.Send(2, Encoding.UTF8.GetBytes(str)); Thread.Sleep(1000); if (ran.Next(1024) > (1024 >> 1)) { if (x < 100) { x++; } } else { if (x > 0) { x--; } } if (ran.Next(1024) > (1024 >> 1)) { if (y < 100) { y++; } } else { if (y > 0) { y--; } } //if (ran.Next(1024) > (1024 >> 1)) //{ // if(z<100) z++; //} //else //{ // if (z > 0) z--; //} } }; login.ConnectGameServer(uid, sid, "123"); } }; login.Login("koll:123"); ManualResetEvent e = new ManualResetEvent(false); e.WaitOne(); }
public LocalDownloaderAgent(IDownloaderAgentOptions options, IMessageQueue mq, IDownloaderAllocator downloaderAllocator, NetworkCenter networkCenter, ILoggerFactory loggerFactory) : base(options, mq, downloaderAllocator, networkCenter, loggerFactory) { ConfigureDownloader = downloader => downloader.Logger = null; }