private static void Server_Received(byte[] buf) { CommunicationData msg = (CommunicationData)Serialization.Deserialize(buf); switch (msg.Command) { case "Start": startScan(); break; case "Stop": stopScan(); break; case "GetState": getState(); break; case "GetConfig": sendGetConfig(msg); break; case "SaveConfig": sendSaveConfig(msg); break; } }
private void SendData(string module, DataType type, object data) { var communicationData = new CommunicationData(type, data); var thread = _info.SendData(nameof(WebUi), module, communicationData); thread?.Join(); }
private void sendCD(int?line_line_id, int issueId, string msg, string subject) { var time = DateTime.Now; string current_time = time.ToString("yyyy-MM-dd HH:mm:ss"); var date = DateTime.ParseExact(current_time, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture); using (issue_management_systemEntities1 db = new issue_management_systemEntities1()) { var userDetails = db.User_tbl.Where(x => x.Role == "manager").ToList(); foreach (var item in userDetails) { string query = "INSERT INTO tbl_Notifications ([Status],[Message],[Type],[EmployeeNumber],[Date]) VALUES( 1,'" + msg + "','issue','" + item.EmployeeNumber + "','" + date + "') "; db.Database.ExecuteSqlCommand(query); } var communicationInfo = db.issue_line_person.Where(x => x.line_id == line_line_id && x.issue_id == issueId).ToList(); foreach (var item in communicationInfo) { var personInfo = db.User_tbl.Where(y => y.EmployeeNumber == item.EmployeeNumber).FirstOrDefault(); CommunicationData cd = new CommunicationData(personInfo.Phone, msg, personInfo.EMail, item.email, item.call, item.message, personInfo.EmployeeNumber, subject); com.setCD(cd); } } }
public DyConfig GetConfig() { this.client.Connect("device", 12001); CommunicationData msg = new CommunicationData(); msg.ClientIP = this.client.Client.LocalEndPoint.ToString().Split(":")[0]; msg.ClientPort = int.Parse(this.client.Client.LocalEndPoint.ToString().Split(":")[1]); msg.Command = "GetConfig"; NetworkStream ns = this.client.GetStream(); byte[] buf = Serialization.Serialize(msg); ns.Write(buf, 0, buf.Length); byte[] readData = new byte[client.ReceiveBufferSize]; int readByte = ns.Read(readData, 0, readData.Length); if (readByte == 0) { return(default(DyConfig)); } this.client.Close(); byte[] data = new byte[readByte]; Array.Copy(readData, data, readByte); CommunicationData receive = (CommunicationData)Serialization.Deserialize(data); return((DyConfig)receive.Data); }
private static void sendGetConfig(CommunicationData msg) { DyConfig config = AppConfig.GetConfig(); msg.Data = config; byte[] buf = Serialization.Serialize(msg); server.Send(buf, msg.ClientIP, msg.ClientPort); }
public static async Task <CommunicationsResults> GetLinkBudget(CommunicationData commData) { string relativeUri = ServiceUris.CommunicationsLinkBudgetUri; commData.Verify(); var uri = Networking.GetFullUri(relativeUri); return(await Networking.HttpPostCall <CommunicationData, CommunicationsResults>(uri, commData)); }
private void doCommunicate() { if (gsm_status) { CommunicationData communicateData = (CommunicationData)numberList.Dequeue(); try { var time = DateTime.Now; string current_time = time.ToString("yyyy-MM-dd HH:mm:ss"); var date = DateTime.ParseExact(current_time, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture); gsm_status = false; var msg = communicateData.getMsg(); var emailAddress = communicateData.getEmailAddress(); var mobileNumber = communicateData.getNumber(); if (communicateData.getEmail() == 1 && emailAddress != null) { sendMail(emailAddress, msg, communicateData.getsubject()); using (issue_management_systemEntities1 db = new issue_management_systemEntities1()) { string query = "INSERT INTO tbl_Notifications ([Status],[Message],[Type],[EmployeeNumber],[Date]) VALUES( 1,'" + msg + "','email','" + communicateData.getEmployeeNumber() + "','" + date + "') "; db.Database.ExecuteSqlCommand(query); } } if (communicateData.getMessage() == 1 && mobileNumber != null) { send_SMS(mobileNumber, msg); } if (communicateData.getCall() == 1 && mobileNumber != null) { take_Call(mobileNumber, msg); } gsm_status = true; } catch (Exception ex) { Debug.WriteLine(ex); gsm_status = true; } } else { int milliseconds = 2000; Thread.Sleep(milliseconds); doCommunicate(); } }
/// <summary> /// Méthode qui écoute le réseau en permanence en quête d'un message UDP sur le port 1523. /// </summary> private void EcouterReseau() { //Création d'un Socket qui servira de serveur de manière sécurisé UdpClient serveur = null; bool erreur = false; int attempts = 0; //J'essaie 3 fois car je veux éviter un plantage au serveur juste pour une question de millisecondes. do { try { serveur = new UdpClient(1523); } catch { erreur = true; attempts++; Thread.Sleep(400); } } while (erreur && attempts < 4); // Si c'est vraiment impossible de se lier, on en informe le serveur et on quitte le thread. if (serveur == null) { this.Invoke(new Action <string>(AjouterLog), "Il est impossible de se lier au port 1523. Vérifiez votre configuration réseau."); this.Invoke(new Action <bool>(Arreter), false); return; } serveur.Client.ReceiveTimeout = 1000; //Boucle infinie d'écoute du réseau while (_continuer) { try { IPEndPoint ip = null; byte[] data = serveur.Receive(ref ip); //Préparation des données à l'aide de la classe interne. CommunicationData cd = new CommunicationData(ip, data); //on lance un nouveau thread avec les données en paramètre. new Thread(new ParameterizedThreadStart(TraiterMessage)).Start(cd); } catch { } } serveur.Close(); }
public override void ProcessDataFromOtherModule(string moduleName, CommunicationData data) { base.ProcessDataFromOtherModule(moduleName, data); switch (data.Type) { case DataType.EpgChannelUpdate: Logger.Info($"Received EpgChannelUpdate from {moduleName}"); _channelList.ToggleChannel(data.Data as EpgChannelUpdate); _nextRetrieval = DateTime.Now; break; } }
public void SaveConfig(DyConfig config) { this.client.Connect("device", 12001); CommunicationData msg = new CommunicationData(); msg.Command = "SaveConfig"; msg.Data = config; byte[] buf = Serialization.Serialize(msg); NetworkStream ns = this.client.GetStream(); ns.Write(buf, 0, buf.Length); this.client.Close(); }
public override void ProcessDataFromOtherModule(string moduleName, CommunicationData data) { base.ProcessDataFromOtherModule(moduleName, data); switch (data.Type) { case DataType.Epg: UpdateEpg(data.Data.ToString()); break; case DataType.TvHeadendChannelUpdate: UpdateTvhConfiguration(data.Data as TvHeadendChannelUpdate); break; } }
/// <summary> /// Méthode en charge de traiter un message entrant. /// </summary> /// <param name="messageArgs"></param> private void TraiterMessage(object messageArgs) { try { //On récupère les données entrantes et on les formatte comme il faut. CommunicationData data = messageArgs as CommunicationData; string message = string.Format("{0}:{1} > {2}", data.Client.Address.ToString(), data.Client.Port, Encoding.Default.GetString(data.Data)); //On renvoie le message formatté à travers le réseau. byte[] donnees = Encoding.Default.GetBytes(message); _broadcaster.Send(donnees, donnees.Length); this.Invoke(new Action <string>(AjouterLog), message); } catch { } }
private void ProcessMessage(object messageArgs) { try { CommunicationData data = messageArgs as CommunicationData; string message = string.Format("{0}:{1} > {2}", data.Client.Address.ToString(), data.Client.Port, Encoding.Default.GetString(data.Data)); //Send over network byte[] donnees = Encoding.Default.GetBytes(message); _broadcaster.Send(donnees, donnees.Length); //Debug.Log("Server : broadcasting on network " + message); } catch { } }
public List <CommunicationData> RetrieveMessages() { List <CommunicationData> data = new List <CommunicationData>(); for (int i = 0; i < _messages.Count; i++) { CommunicationData message = (CommunicationData)_messages[i]; if (message.Reciever == this._name) { data.Add(message); //_messages.RemoveAt(i); } } _messages.Clear(); return(data); }
private void ListenNetwork() { UdpClient server = null; bool erreur = false; int attempts = 0; do { try { server = new UdpClient(this.listeningPort); } catch { erreur = true; attempts++; Thread.Sleep(400); } } while (erreur && attempts < 4); if (server == null) { Debug.Log("Verify the network configuration ..."); this.StopServer(false); return; } server.Client.ReceiveTimeout = 1000; //Listening loop while (_continue) { try { IPEndPoint ip = null; byte[] data = server.Receive(ref ip); CommunicationData cd = new CommunicationData(ip, data); new Thread(new ParameterizedThreadStart(ProcessMessage)).Start(cd); } catch { } } server.Close(); }
public override void Init(bool UserSoure = true) { Name = Content["0"]; army = InitParaByDynamic <Army>(UserSoure, "Army", ""); CommunicationEntry = InitParaByStatic <CommunicationData>(UserSoure, "CommunicationEntry", ""); if (CommunicationEntry == null) { CommunicationEntry = Game.StaticDataManager.GetGameData <CommunicationData>("DefautTalk"); } Money = InitIntValue("Money"); MapUnitPostion = InitStringValue("MapPostion"); if (army != null) { army.SetKing(this); } Skills = InitParas <Skill>(UserSoure, "Skill", Skills.Length, Game.DynamicDataManager); }
public void ShowCommunication(King ToKing, CommunicationData data) { Show(); ClearnActon(); Comms.Add(data); if (data.SkillOnclick != null) { data.SkillOnclick.DoSkill(Game.Player, ToKing); } if ("End" == data.ContentStr) { CloseCommunication(); } m_ForNameText.text = ToKing.Name; m_ContentStr.text = data.ContentStr; if (data.NextComm != null && data.NextComm.Count > 0) { foreach (var item in data.NextComm) { AddAction(item.Key, () => { ShowCommunication(ToKing, item.Value); }); item.Value.LastCons = data; } if (data.CanBack && data.LastCons != null) { AddAction("返回", () => { ShowCommunication(ToKing, data.LastCons); }); } } else { if (data.CanBack && data.LastCons != null) { AddAction("返回", () => { ShowCommunication(ToKing, data.LastCons); }); } AddAction("结束", () => { CloseCommunication(); }); } }
public override void ProcessDataFromOtherModule(string moduleName, CommunicationData data) { if (!ShouldWeProcessNewData(moduleName, data.Type)) { return; } Logger.Info($"Handle new {data.Type} from {moduleName} with value {data.Data}"); string keyblockFile = null; if (data.Data != null) { keyblockFile = data.Data.ToString(); } _keyblock.Prepare(keyblockFile); lock (_syncObject) { _activeClients.ForEach(c => c.RefreshKeyblock(keyblockFile)); } }
public GameData CreateGameData(GameData item, bool init = true, bool UserSoure = true) //复制 未知类型时 { GameData data = null; if (item == null) { return(null); } switch (item.DataType) { case GameDataType.King: data = new King(item, init, UserSoure); break; case GameDataType.Army: data = new Army(item, init, UserSoure); break; case GameDataType.Team: data = new Team(item, init, UserSoure); break; case GameDataType.Hero: data = new Hero(item, init, UserSoure); break; case GameDataType.TeamBuff: data = new TeamBuff(item, init, UserSoure); break; case GameDataType.UnitBuff: data = new UnitBuff(item, init, UserSoure); break; case GameDataType.Skill: data = new Skill(item, init, UserSoure); break; case GameDataType.City: data = new City(item, init, UserSoure); break; case GameDataType.UnitSetting: data = new UnitSetting(item, init, UserSoure); break; case GameDataType.Unit: data = new Unit(item, init, UserSoure); break; case GameDataType.ConversationData: data = new CommunicationData(item, init, UserSoure); break; case GameDataType.Other: data = new GameData(item); break; case GameDataType.DynamicGameSetting: data = new DynamicGameSetting(item); break; case GameDataType.StaticGameSetting: data = new StaticGameSetting(item); break; default: break; } return(data); }
public GameData CreateGameData(GameDataType type, string name) //这是为方便GameDataEditWindow 未知类型时 { GameData data = null; if (string.IsNullOrEmpty(name)) { return(null); } switch (type) { case GameDataType.King: data = new King(name); break; case GameDataType.Army: data = new Army(name); break; case GameDataType.Team: data = new Team(name); break; case GameDataType.Hero: data = new Hero(name); break; case GameDataType.TeamBuff: data = new TeamBuff(name); break; case GameDataType.UnitBuff: data = new UnitBuff(name); break; case GameDataType.Skill: data = new Skill(name); break; case GameDataType.City: data = new City(name); break; case GameDataType.UnitSetting: data = new UnitSetting(name); break; case GameDataType.Unit: data = new Unit(name); break; case GameDataType.ConversationData: data = new CommunicationData(name); break; case GameDataType.Other: data = new GameData(GameDataType.Other, name); break; case GameDataType.DynamicGameSetting: data = new DynamicGameSetting(name); break; case GameDataType.StaticGameSetting: data = new StaticGameSetting(name); break; default: break; } return(data); }
private void Listen() { //Création d'un Socket qui servira de serveur de manière sécurisée. UdpClient serveur2 = null; bool erreur = false; int attempts = 0; //J'essaie 3 fois car je veux éviter un plantage au serveur juste pour une question de millisecondes. do { try { serveur2 = new UdpClient(1523); } catch { erreur = true; attempts++; Thread.Sleep(400); } } while (erreur && attempts < 4); //Si c'est vraiment impossible de se lier, on en informe le serveur et on quitte le thread. if (serveur == null) { this.Invoke(new Action<string>(log), "Il est impossible de se lier au port 1523. Vérifiez votre configuration réseau."); this.Invoke(new Action<bool>(stop), false); return; } serveur2.Client.ReceiveTimeout = 1000; //Boucle infinie d'écoute du réseau. while (conti) { try { IPEndPoint ip = null; byte[] data = serveur2.Receive(ref ip); //Préparation des données à l'aide de la classe interne. CommunicationData cd = new CommunicationData(ip, data); //On lance un nouveau thread avec les données en paramètre. new Thread(new ParameterizedThreadStart(TraiterMessage)).Start(cd); } catch { } } serveur2.Close(); }
public void TestLinkBudgetsAlongAPath() { var Frequency = 14500000000.0; var Power = 1000.0; var DataRate = 16000000.0; var Bandwidth = 20000000.0; var request = new CommunicationData(); request.OutputUnits = OutputUnit.Decibels; // Transmitter var td = new TransmitterData(); var sd = new SiteData(); sd.Location = new ServiceCartographic(42.0, -105.0, 2000.0); sd.MeanSeaLevel = true; td.Path = sd; td.PathRouteType = RouteTypes.FixedSite; td.Frequency = Frequency; td.Power = Power; td.DataRate = DataRate; request.Transmitter = td; // Interference Sources var jammer1 = new TransmitterData(); var jammer1Path = new SiteData(); jammer1Path.Location = new ServiceCartographic(42.001, -105.0, 1900); jammer1Path.MeanSeaLevel = true; jammer1.Path = jammer1Path; jammer1.PathRouteType = RouteTypes.FixedSite; jammer1.Frequency = Frequency; jammer1.Power = Power; jammer1.DataRate = DataRate; var jammer2 = new TransmitterData(); var jammer2Path = new SiteData(); jammer2Path.Location = new ServiceCartographic(41.997, -105.0, 1900); jammer2Path.MeanSeaLevel = true; jammer2.Path = jammer1Path; jammer2.PathRouteType = RouteTypes.FixedSite; jammer2.Frequency = Frequency; jammer2.Power = Power; jammer2.DataRate = DataRate; request.InterferenceSources = new List <TransmitterData>(); request.InterferenceSources.Add(jammer1); request.InterferenceSources.Add(jammer2); // Receiver var receiver = new ReceiverData(); var receiverPath = new GreatArcRouteData(2); receiverPath.Waypoints[0].Position = new ServiceCartographic(41, -105.0, 2000.0); receiverPath.Waypoints[0].Time = new DateTimeOffset(2016, 02, 23, 4, 44, 0, new TimeSpan(0)); receiverPath.Waypoints[1].Position = new ServiceCartographic(43, -104.0, 2000.0); receiverPath.Waypoints[1].Time = new DateTimeOffset(2016, 02, 23, 5, 44, 0, new TimeSpan(0)); receiverPath.OutputSettings.Step = 900; receiverPath.OutputSettings.TimeFormat = TimeRepresentation.UTC; receiverPath.OutputSettings.CoordinateFormat.Coord = CoordinateRepresentation.LLA; receiverPath.OutputSettings.CoordinateFormat.Frame = FrameRepresentation.Fixed; receiver.Path = receiverPath; receiver.PathRouteType = RouteTypes.GreatArc; receiver.TargetFrequency = Frequency; receiver.Bandwidth = Bandwidth; receiver.AmplifierGain = 100; receiver.NoiseFactor = 2.0; receiver.ReferenceTemperature = 16.85; request.Receiver = receiver; // Other settings request.UseTirem = true; request.TiremSettings.SurfaceHumidity = 10.0; request.TiremSettings.SurfaceRefractivity = 200.0; // dump the request to see the JSON created //File.WriteAllText(@".\CommRequest.json",request.ToString()); var commResult = CommunicationServices.GetLinkBudget(request).Result; Assert.That(commResult != null); Assert.That(commResult.LinkBudgets != null); Assert.That(commResult.LinkBudgets.Count == 5); Assert.AreEqual(0.499, commResult.LinkBudgets[0].BitErrorRate, 1e-3); }
public void setCD(CommunicationData cd) { numberList.Enqueue(cd); doCommunicate(); }
protected void btnItem_SelectedChanged(object sender, EventArgs e) { #region 判断当前是否存在打开的插件 if (currentBtn != null && currentBtn.Equals(sender)) { return; } else { } if (currentPluginForm != null) { if (currentPluginForm.CloseForm() == DialogResult.Cancel) { (sender as NavBtnItem).Selected = false; return; } } #endregion currentBtn = sender as NavBtnItem; SetPrograss("就绪", " ", 0); foreach (NavBtnItem item in flowLayoutPanel1.Controls) { item.Selected = false; } (sender as NavBtnItem).Selected = true; PluginModel pp = (sender as NavBtnItem).Tag as PluginModel; Assembly ass = Assembly.LoadFrom(pp.LibPath); Environment.CurrentDirectory = System.IO.Path.GetDirectoryName(pp.LibPath); string pluginClassName = ass.GetName().Name + "." + (sender as NavBtnItem).Tag2; string guid = (sender as NavBtnItem).Tag2.ToString(); //foreach (PluginModel pm in pp.Items) //{ // if (guid == pm.GUID) // { // pluginClassName = pm.Namesapce + "." + pm.Name; // break; // } //} Type tp = ass.GetType(pluginClassName); if (tp == null) { MessageBox.Show("插件加载失败:" + pluginClassName); return; } Environment.CurrentDirectory = System.IO.Path.GetDirectoryName(pp.LibPath); Form pluginClass = Activator.CreateInstance(tp) as Form; if (pluginClass is PluginLib.BaseForm) { currentPluginForm = pluginClass as PluginLib.BaseForm; } else { currentPluginForm = null; } pluginClass.TopLevel = false; pluginClass.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Bottom; pluginClass.Dock = DockStyle.Top; pluginClass.FormBorderStyle = FormBorderStyle.None; panel4.Controls.Clear(); panel4.Controls.Add(pluginClass); pluginClass.Visible = true; //pluginClassName = pp.Namespace + ".Plugin"; tp = ass.GetType(pluginClassName); tp = tp.BaseType; #region 为plugin.cs文件中的消息处理事件添加委托方法 EventInfo eiMessage = tp.GetEvent("message"); eiMessage.RemoveEventHandler(this, Delegate.CreateDelegate(eiMessage.EventHandlerType, this, "WriteMessage")); eiMessage.AddEventHandler(this, Delegate.CreateDelegate(eiMessage.EventHandlerType, this, "WriteMessage")); EventInfo eiClear = tp.GetEvent("clear"); eiClear.RemoveEventHandler(this, Delegate.CreateDelegate(eiClear.EventHandlerType, this, "ClearMessage")); eiClear.AddEventHandler(this, Delegate.CreateDelegate(eiClear.EventHandlerType, this, "ClearMessage")); EventInfo eiPushData = tp.GetEvent("pushData"); eiPushData.RemoveEventHandler(this, Delegate.CreateDelegate(eiPushData.EventHandlerType, this, "PushData")); eiPushData.AddEventHandler(this, Delegate.CreateDelegate(eiPushData.EventHandlerType, this, "PushData")); EventInfo eiPopupData = tp.GetEvent("popupData"); eiPopupData.RemoveEventHandler(this, Delegate.CreateDelegate(eiPopupData.EventHandlerType, this, "PopupData")); eiPopupData.AddEventHandler(this, Delegate.CreateDelegate(eiPopupData.EventHandlerType, this, "PopupData")); EventInfo eiPrograss = tp.GetEvent("PrograssInfo"); eiPrograss.RemoveEventHandler(this, Delegate.CreateDelegate(eiPrograss.EventHandlerType, this, "SetPrograss")); eiPrograss.AddEventHandler(this, Delegate.CreateDelegate(eiPrograss.EventHandlerType, this, "SetPrograss")); EventInfo eiPrograssMaxValue = tp.GetEvent("ProgressMaxValue"); eiPrograssMaxValue.RemoveEventHandler(this, Delegate.CreateDelegate(eiPrograssMaxValue.EventHandlerType, this, "SetProgressMaxValue")); eiPrograssMaxValue.AddEventHandler(this, Delegate.CreateDelegate(eiPrograssMaxValue.EventHandlerType, this, "SetProgressMaxValue")); EventInfo resetProgressMaxValue = tp.GetEvent("resetProgressMaxValue"); resetProgressMaxValue.RemoveEventHandler(this, Delegate.CreateDelegate(resetProgressMaxValue.EventHandlerType, this, "ResetProgressMaxValue")); resetProgressMaxValue.AddEventHandler(this, Delegate.CreateDelegate(resetProgressMaxValue.EventHandlerType, this, "ResetProgressMaxValue")); EventInfo eiLogOpt = tp.GetEvent("LogOperatorInfo"); eiLogOpt.RemoveEventHandler(this, Delegate.CreateDelegate(eiLogOpt.EventHandlerType, this, "LogOperatorInfo")); eiLogOpt.AddEventHandler(this, Delegate.CreateDelegate(eiLogOpt.EventHandlerType, this, "LogOperatorInfo")); EventInfo eiLogSystem = tp.GetEvent("LogSystemInfo"); eiLogSystem.RemoveEventHandler(this, Delegate.CreateDelegate(eiLogSystem.EventHandlerType, this, "LogSystemInfo")); eiLogSystem.AddEventHandler(this, Delegate.CreateDelegate(eiLogSystem.EventHandlerType, this, "LogSystemInfo")); #endregion #region 递通讯方式信息 CommunicationData data = ConfigDataService.GetCommunicationData(); Object pgClass = Activator.CreateInstance(tp); MethodInfo methodInfo = tp.GetMethod("SetSerialPort"); methodInfo.Invoke(pgClass, new object[] { data.Serialport, data.Baudrate }); methodInfo = tp.GetMethod("SetNetwork"); methodInfo.Invoke(pgClass, new object[] { data.IP, data.Localport, data.Remoteport }); #endregion }
private static void sendSaveConfig(CommunicationData msg) { DyConfig config = (DyConfig)msg.Data; AppConfig.Save(config); }