public void chkEmulate_CheckedChanged(System.Object sender, System.EventArgs e) { if (this.chkEmulate.Checked) { if (this._STXServicePArametersCont.Count <= 0) { MessageBox.Show("No service parameters defined"); this.chkEmulate.Checked = false; return; } if (this.txtSErviceName.Text.Length <= 0) { MessageBox.Show("No service name defined"); this.chkEmulate.Checked = false; return; } if (this.chkEmulate.Checked) { this.chkEmulate.Text = "Stop" + Constants.vbNewLine + "Emulation"; if (this.rbtnNormalMode.Checked) { this._STXServiceHandler = new DiscoverableServiceDefinitionHandlingServer(DiscoverableServiceHandlingOperativeDefs.DiscoverableServiceMode.multipleNetworkInstancesService, this.txtSErviceName.Text, this._STXServicePArametersCont); this._STXServiceHandler.STXServiceQueryReceived += new DiscoverableServiceDefinitionHandlingServer.STXServiceQueryReceivedEventHandler(this.QueryReceived); this._STXServiceHandler.STXServiceSuccesfullQueryResult += new DiscoverableServiceDefinitionHandlingServer.STXServiceSuccesfullQueryResultEventHandler(this.SuccessFullQuerieREsult); } else { this._STXServiceHandler = new DiscoverableServiceDefinitionHandlingServer(DiscoverableServiceHandlingOperativeDefs.DiscoverableServiceMode.singletonInstanceNetworkService, this.txtSErviceName.Text, this._STXServicePArametersCont); this._STXServiceHandler.STXServiceQueryReceived += new DiscoverableServiceDefinitionHandlingServer.STXServiceQueryReceivedEventHandler(this.QueryReceived); this._STXServiceHandler.STXServiceSuccesfullQueryResult += new DiscoverableServiceDefinitionHandlingServer.STXServiceSuccesfullQueryResultEventHandler(this.SuccessFullQuerieREsult); } } else { this.chkEmulate.Text = "Emulate STX Service"; if (!(this._STXServiceHandler == null)) { this._STXServiceHandler.Dispose(); } } } else { this.chkEmulate.Text = "Emulate " + Constants.vbNewLine + "STX Service"; if (!(this._STXServiceHandler == null)) { this._STXServiceHandler.Dispose(); } } }
private CNDService() { this._remoteComponentLinkTable = new CNDRemoteComponentLinkHandlerTable(); this._remoteComponentLinkTable.LinkWithRemoteComponentHasBroken += this.LinkWithRemoteComponentHasBroken; //************************************************************************************ //CREATION THE DEFAULT P2P PORT OF THE SERVICE try { this._serviceP2PPort = new P2PPort(this, CNDServiceDefinitions.CND_SERVICE_DEFAULT_PORT); } catch (Exception ex) { string msg = " Error starting the default P2PPort of CND service : " + ex.Message; CustomEventLog.WriteEntry(EventLogEntryType.Warning, msg); this._serviceP2PPort = new P2PPort(this); msg = "The CND Service default P2PPort was started using a dinamic port number \'" + System.Convert.ToString(this._serviceP2PPort.ListeningPortNumber) + "\' out of the CND service range (" + System.Convert.ToString(CNDCommunicationsEnvironmentDefinitions.INITIAL_TCP_PORT_FOR_CND_COMMS_ENVIRONMENT) + "-" + System.Convert.ToString(CNDCommunicationsEnvironmentDefinitions.FINAL_TCP_PORT_FOR_CND_COMMS_ENVIRONMENT) + ")"; CustomEventLog.WriteEntry(EventLogEntryType.Warning, msg); } //************************************************************************************ //CREATION THE MULTICASTING DATA REPLICATOR SERVER try { this._MultiCastDataReplicationServer = new MultiCastDataReplicationServer(CNDServiceDefinitions.CND_SERVICE_MULTICAST_IP_ADDRESS, CNDServiceDefinitions.CND_SERVICE_MULTICAST_PORT); } catch (Exception ex) { string msg = " Error starting a multicast port for CND service : " + ex.Message; CustomEventLog.WriteEntry(EventLogEntryType.Warning, msg); this._MultiCastDataReplicationServer = new MultiCastDataReplicationServer(); msg = "The CND service Multicast Server was started using a dinamic port number \'" + System.Convert.ToString(this._MultiCastDataReplicationServer.MultiCastPortNumber) + "\' out of the CND service range (" + System.Convert.ToString(CNDCommunicationsEnvironmentDefinitions.INITIAL_TCP_PORT_FOR_CND_COMMS_ENVIRONMENT) + "-" + System.Convert.ToString(CNDCommunicationsEnvironmentDefinitions.FINAL_TCP_PORT_FOR_CND_COMMS_ENVIRONMENT) + ")"; CustomEventLog.WriteEntry(EventLogEntryType.Warning, msg); } this.LoadCNDTableFromFileOrCreateAndEmptyTableIfNotExists(); this._hostName = System.Net.Dns.GetHostName(); //crates the service parameters to publish throuGh the STXServiceDefinitionHandlerServer this._STXServicePArametersCont = new DiscoverableServiceDefinitionParametersContainer(); this._STXServicePArametersCont.AddParameter(CNDServiceDefinitions.CND_SERVICE_NAME, System.Convert.ToString(CNDServiceDefinitions.CNDSERVICE_PUBLIC_NAME)); this._STXServicePArametersCont.AddParameter(CNDServiceDefinitions.CND_SERVICE_HOSTNAME, System.Convert.ToString(this._hostName)); this._STXServicePArametersCont.AddParameter(CNDServiceDefinitions.CND_SERVICE_IP_ADDRESS, this._serviceP2PPort.IPAddress.ToString()); this._STXServicePArametersCont.AddParameter(CNDServiceDefinitions.CND_SERVICE_P2PPORT_PORTNUMBER, System.Convert.ToString(this._serviceP2PPort.ListeningPortNumber)); this._STXServicePArametersCont.AddParameter(CNDServiceDefinitions.CND_SERVICE_MULTICASTSERVER_IP_ADDRESS, System.Convert.ToString(this._MultiCastDataReplicationServer.MultiCastIPAddress)); this._STXServicePArametersCont.AddParameter(CNDServiceDefinitions.CND_SERVICE_MULTICASTSERVER_PORTNUMBER, System.Convert.ToString(this._MultiCastDataReplicationServer.MultiCastPortNumber)); this._STXServicePArametersCont.SaveToFile(CNDServiceDefinitions.CND_SERVICE_SERVICE_PARAMETERS_TABLE_FILENAME); this._serviceParametersTable = new DataTable("CND Service Parameters"); this._serviceParametersTable.Columns.Add("Parameter Name"); this._serviceParametersTable.Columns.Add("Parameter Value"); IEnumerator enumm = this._STXServicePArametersCont.ParametersTable.GetEnumerator(); string paramName = ""; string ParamValue = ""; DataRow paramRow = default(DataRow); while (enumm.MoveNext()) { paramName = System.Convert.ToString(((DictionaryEntry)enumm.Current).Key); ParamValue = System.Convert.ToString(((DictionaryEntry)enumm.Current).Value); paramRow = this._serviceParametersTable.NewRow(); paramRow[0] = paramName; paramRow[1] = ParamValue; this._serviceParametersTable.Rows.Add(paramRow); } //creates the service handler as singleton this._stxServiceHandler = new DiscoverableServiceDefinitionHandlingServer(DiscoverableServiceHandlingOperativeDefs.DiscoverableServiceMode.singletonInstanceNetworkService, CNDServiceDefinitions.CNDSERVICE_PUBLIC_NAME, this._STXServicePArametersCont); CustomEventLog.WriteEntry(EventLogEntryType.SuccessAudit, "CND Service started succesfully @ " + this._hostName + " on " + DateTime.Now.ToString()); }