public void frmSTXServiceTestApplication_Load(System.Object sender, System.EventArgs e) { try { this._STXServicePArametersCont = new DiscoverableServiceDefinitionParametersContainer(); } catch (Exception) { } }
public static DiscoverableServiceDefinitionParametersContainer GetLocalServiceParameters(string parametersFileName) { DiscoverableServiceDefinitionParametersContainer _STXServiceDefinitionParametersContainer = default(DiscoverableServiceDefinitionParametersContainer); try { _STXServiceDefinitionParametersContainer = ObjectSerializer.DeserializeObjectFromFile(parametersFileName); return(_STXServiceDefinitionParametersContainer); } catch (Exception) { return(null); } }
internal static DiscoverableServiceDefinitionParametersContainer GetLocalHostServiceDefaultParameters() { string hostNAme = Dns.GetHostName(); DiscoverableServiceDefinitionParametersContainer parameters = new DiscoverableServiceDefinitionParametersContainer(); parameters.AddParameter(CNDServiceDefinitions.CND_SERVICE_NAME, System.Convert.ToString(CNDServiceDefinitions.CNDSERVICE_PUBLIC_NAME)); parameters.AddParameter(CNDServiceDefinitions.CND_SERVICE_HOSTNAME, System.Convert.ToString(hostNAme)); IPAddress LocalActiveIPAddress = CommunicationsLibrary.Utilities.CommunicationsUtilities.GetActiveIPAddress(); string IPAdddressAsString = LocalActiveIPAddress.ToString(); parameters.AddParameter(CNDServiceDefinitions.CND_SERVICE_IP_ADDRESS, System.Convert.ToString(IPAdddressAsString)); parameters.AddParameter(CNDServiceDefinitions.CND_SERVICE_P2PPORT_PORTNUMBER, System.Convert.ToString(CNDServiceDefinitions.CND_SERVICE_DEFAULT_PORT)); parameters.AddParameter(CNDServiceDefinitions.CND_SERVICE_MULTICASTSERVER_IP_ADDRESS, System.Convert.ToString(CNDServiceDefinitions.CND_SERVICE_MULTICAST_IP_ADDRESS)); parameters.AddParameter(CNDServiceDefinitions.CND_SERVICE_MULTICASTSERVER_PORTNUMBER, System.Convert.ToString(CNDServiceDefinitions.CND_SERVICE_MULTICAST_PORT)); return(parameters); }
public DiscoverableServiceDefinitionHandlingServer(DiscoverableServiceHandlingOperativeDefs.DiscoverableServiceMode serviceMode, string serviceName, DiscoverableServiceDefinitionParametersContainer parameters) { this._serviceName = serviceName.ToUpper(); this._serviceID = Guid.NewGuid().ToString("N"); this._servideMode = serviceMode; this._serviceParameters = parameters; //adds the service name, its id and its operation mode in the parameters Table //in order to reply the table within the broadcast reply as a hashtable and //retrieve those parametes in the client to fill specific fiels of the structure DiscoverableServiceDefinition this._serviceParameters.AddParameter(DiscoverableServiceHandlingOperativeDefs.SERVICE_NAME, this._serviceName); this._serviceParameters.AddParameter(DiscoverableServiceHandlingOperativeDefs.SERVICE_ID, this._serviceID); this._serviceParameters.AddParameter(DiscoverableServiceHandlingOperativeDefs.SERVICE_OPERATION_MODE, DiscoverableServiceHandlingOperativeDefs.GetServiceOperationModeAsString(this._servideMode)); this._clientQueriesReceived = 0; this._succesfullQueriesResulted = 0; //Me._broadcastListener = BroadCasting.DataBroadcastListener.GetInstance this._broadcastListener = new DataBroadcastListener(DiscoverableServiceHandlingOperativeDefs.DHS_SERVICE_HANDLER_BROADCAST_IP_ADDRESS, DiscoverableServiceHandlingOperativeDefs.DSH_SERVICE_HANDLER_BROADCAST_TCP_PORT); this._broadcastListener.DataReceived += this.broadcastDataReceived; }
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()); }
public DiscoverableServiceHandlingOperativeDefs.DiscoverableServiceDefinition FindService(string ServiceNameToFind) { try { BroadCasting.Data.BroadCastRepliesContainer replies = default(BroadCasting.Data.BroadCastRepliesContainer); replies = this._DataBroadcastClient.BroadCastDataAndWaitOneFirstReply(DiscoverableServiceHandlingOperativeDefs.SERVICE_NAME_QUERY_BROADCAST_ID_NAME_STRING, DiscoverableServiceHandlingOperativeDefs.SERVICE_NAME, ServiceNameToFind, TIME_OUT_SECONDS); if (replies.Count > 0) { //evaluates if the reply contains the reply from the service searched if (replies.ContainsReplyIDName(DiscoverableServiceHandlingOperativeDefs.SERVICE_NAME_QUERY_REPLYIDNAME_STRING)) { BroadCasting.Data.BroadCastReply STXSErviceReply = default(BroadCasting.Data.BroadCastReply); STXSErviceReply = replies.Item(DiscoverableServiceHandlingOperativeDefs.SERVICE_NAME_QUERY_REPLYIDNAME_STRING); //evaluates for the service parameters table attached with the data name specified //by the constant SERVICE_PARAMETERS_TABLE if (STXSErviceReply.DataName == DiscoverableServiceHandlingOperativeDefs.SERVICE_PARAMETERS_TABLE) { CustomHashTable paramsTable = (CustomHashTable)STXSErviceReply.Value; DiscoverableServiceDefinitionParametersContainer serviceParams = new DiscoverableServiceDefinitionParametersContainer(paramsTable); DiscoverableServiceHandlingOperativeDefs.DiscoverableServiceDefinition serviceDEfiniton = new DiscoverableServiceHandlingOperativeDefs.DiscoverableServiceDefinition(); DiscoverableServiceParameter param = default(DiscoverableServiceParameter); //retrieves the service name from the parameters list //and removes it from the parameters list param = serviceParams.GetParameter(DiscoverableServiceHandlingOperativeDefs.SERVICE_NAME); if (param == null) { throw (new DiscoverableServiceDefinitionHandlingException(ServiceNameToFind, DiscoverableServiceHandlingOperativeDefs.SERVICE_NAME)); } serviceDEfiniton.ServiceName = param.Value; serviceParams.RemoveParameter(DiscoverableServiceHandlingOperativeDefs.SERVICE_NAME); //retrieves the service id from the parameters table and removes it param = serviceParams.GetParameter(DiscoverableServiceHandlingOperativeDefs.SERVICE_ID); if (param == null) { throw (new DiscoverableServiceDefinitionHandlingException(ServiceNameToFind, DiscoverableServiceHandlingOperativeDefs.SERVICE_ID)); } serviceDEfiniton.ServiceIDString = param.Value; serviceParams.RemoveParameter(DiscoverableServiceHandlingOperativeDefs.SERVICE_ID); //retrieves the service operation mode param = serviceParams.GetParameter(DiscoverableServiceHandlingOperativeDefs.SERVICE_OPERATION_MODE); if (param == null) { throw (new DiscoverableServiceDefinitionHandlingException(ServiceNameToFind, DiscoverableServiceHandlingOperativeDefs.SERVICE_OPERATION_MODE)); } serviceDEfiniton.ServiceOperationMode = DiscoverableServiceHandlingOperativeDefs.GetServiceOperationModeFromString(param.Value); serviceParams.RemoveParameter(DiscoverableServiceHandlingOperativeDefs.SERVICE_OPERATION_MODE); serviceDEfiniton.ServiceParameters = serviceParams; return(serviceDEfiniton); } else { throw (new DiscoverableServiceDefinitionHandlingSearchFailureException(ServiceNameToFind)); } } else { throw (new DiscoverableServiceDefinitionHandlingSearchFailureException(ServiceNameToFind)); } } else { throw (new DiscoverableServiceDefinitionHandlingSearchFailureException(ServiceNameToFind)); } } catch (Services.BroadCasting.DataBroadCastWaitReplyException) { throw (new DiscoverableServiceDefinitionHandlingSearchFailureException(ServiceNameToFind)); } catch (Exception) { throw (new DiscoverableServiceDefinitionHandlingSearchFailureException(ServiceNameToFind)); } }
public Services.DiscoverableServiceHandling.Data.DiscoverableServiceDefinitionsContainer DiscoverServicesNumOfInstances(string ServiceNameToFind, int numberOfInstances) { Services.DiscoverableServiceHandling.Data.DiscoverableServiceDefinitionsContainer servicesFoundContainer = new Services.DiscoverableServiceHandling.Data.DiscoverableServiceDefinitionsContainer(); BroadCasting.Data.BroadCastRepliesContainer replies = default(BroadCasting.Data.BroadCastRepliesContainer); try { replies = this._DataBroadcastClient.BroadCastDataAndWaitSpecifiedNumberOfReplies(DiscoverableServiceHandlingOperativeDefs.SERVICE_NAME_QUERY_BROADCAST_ID_NAME_STRING, DiscoverableServiceHandlingOperativeDefs.SERVICE_NAME, ServiceNameToFind, numberOfInstances); IEnumerator enumm = replies.GetEnumerator(); BroadCastReply reply = default(BroadCastReply); while (enumm.MoveNext()) { reply = (BroadCastReply)enumm.Current; //evaluates if the reply contains the reply from the service searched if (reply.ReplyIDName == DiscoverableServiceHandlingOperativeDefs.SERVICE_NAME_QUERY_REPLYIDNAME_STRING) { BroadCasting.Data.BroadCastReply STXSErviceReply = default(BroadCasting.Data.BroadCastReply); STXSErviceReply = reply; //evaluates for the service parameters table attached with the data name specified //by the constant SERVICE_PARAMETERS_TABLE if (STXSErviceReply.DataName == DiscoverableServiceHandlingOperativeDefs.SERVICE_PARAMETERS_TABLE) { CustomHashTable paramsTable = (CustomHashTable)STXSErviceReply.Value; DiscoverableServiceDefinitionParametersContainer serviceParams = new DiscoverableServiceDefinitionParametersContainer(paramsTable); DiscoverableServiceHandlingOperativeDefs.DiscoverableServiceDefinition serviceDEfiniton = new DiscoverableServiceHandlingOperativeDefs.DiscoverableServiceDefinition(); DiscoverableServiceParameter param = default(DiscoverableServiceParameter); //retrieves the service name from the parameters list //and removes it from the parameters list param = serviceParams.GetParameter(DiscoverableServiceHandlingOperativeDefs.SERVICE_NAME); if (param == null) { throw (new DiscoverableServiceDefinitionHandlingException(ServiceNameToFind, DiscoverableServiceHandlingOperativeDefs.SERVICE_NAME)); } serviceDEfiniton.ServiceName = param.Value; serviceParams.RemoveParameter(DiscoverableServiceHandlingOperativeDefs.SERVICE_NAME); //retrieves the service id from the parameters table and removes it param = serviceParams.GetParameter(DiscoverableServiceHandlingOperativeDefs.SERVICE_ID); if (param == null) { throw (new DiscoverableServiceDefinitionHandlingException(ServiceNameToFind, DiscoverableServiceHandlingOperativeDefs.SERVICE_ID)); } serviceDEfiniton.ServiceIDString = param.Value; serviceParams.RemoveParameter(DiscoverableServiceHandlingOperativeDefs.SERVICE_ID); //retrieves the service operation mode param = serviceParams.GetParameter(DiscoverableServiceHandlingOperativeDefs.SERVICE_OPERATION_MODE); if (param == null) { throw (new DiscoverableServiceDefinitionHandlingException(ServiceNameToFind, DiscoverableServiceHandlingOperativeDefs.SERVICE_OPERATION_MODE)); } serviceDEfiniton.ServiceOperationMode = DiscoverableServiceHandlingOperativeDefs.GetServiceOperationModeFromString(param.Value); serviceParams.RemoveParameter(DiscoverableServiceHandlingOperativeDefs.SERVICE_OPERATION_MODE); serviceDEfiniton.ServiceParameters = serviceParams; servicesFoundContainer.AddDefinition(serviceDEfiniton); } } } return(servicesFoundContainer); } catch (Exception) { return(servicesFoundContainer); } }