Ejemplo n.º 1
0
 ///// <summary>
 ///// 初始化
 ///// </summary>
 public void Init()
 {
     try
     {
         pNetInfo = dal.GetParameterNetInfo();
         //定义通信类
         if (pNetInfo != null)
         {
             InnerComm = new InnerCommEntrance(pNetInfo.BroadcastIP, pNetInfo.CommonPort, pNetInfo.GpsServerIPList, pNetInfo.GpsPort, pNetInfo.CtiServerIP, pNetInfo.CtiPort);
             InnerComm.GetReceiveBroadcastInstence().ReceiveAmbulanceChange += new OnReceiveAmbulanceChangeDelegate(AmbulanceChange);
             //InnerComm.GetReceiveGPSInstence().ReceiveGpsChange += new OnReceiveGPSChangeDelegate(GpsChange);
             InnerComm.ReceiveThreadStart();                            //启动内部通信接收
             InnerComm.GetReceiveGPSInstence().ReceiveGPSThreadStart(); //启动GPS接收
             OnShowMessage(AnchorEnum.EMessageLevel.EML_INFO, "内部通信初始化成功");
             //LogUtility.Debug("InnerCommBLL/Init", "内部通信初始化成功");
         }
         else
         {
             OnShowMessage(AnchorEnum.EMessageLevel.EML_ERROR, "内部通信初始化失败:相关参数可能为空");
             LogUtility.Debug("InnerCommBLL/Init", "内部通信初始化失败:相关参数可能为空");
         }
     }
     catch (Exception ex)
     {
         OnShowMessage(AnchorEnum.EMessageLevel.EML_ERROR, "内部通信初始化失败" + ex.Message);
         LogUtility.Error("InnerCommBLL/Init(),内部通信初始化失败:", ex.Message);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// 取服务器IP Port 类的实体---移植自上海微信预约项目
        /// </summary>
        /// <returns></returns>
        public ParameterNetInfo GetParameterNetInfo()
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(@" select    广播掩码=case when 编码=2 then IP地址 else '' end,
                                       内部通信端口=case when 编码=2 then 端口号码 else 0 end,
                                       GPS服务器IP列表=case when 编码=1 then IP地址 else '' end,
                                       GPS服务器端口=case when 编码=1 then 端口号码 else 0 end,
                                       CTI服务器IP=case when 编码=0 then IP地址 else '' end,
                                       CTI服务器端口=case when 编码=0 then 端口号码 else 0 end
                             into #temp
                             from  TParameterNet 

                            declare @str1 varchar(8000)
		                    declare @str2 int
		                    declare @str3 varchar(8000)
		                    declare @str4 int
                            declare @str5 varchar(8000)
                            declare @str6 int

		                    select @str1=ISNULL(@str1,'')+#temp.广播掩码 from #temp
		                    select @str2=ISNULL(@str2,'')+#temp.内部通信端口 from #temp
		                    select @str3=ISNULL(@str3,'')+#temp.GPS服务器IP列表 from #temp
                            select @str4=ISNULL(@str4,'')+#temp.GPS服务器端口 from #temp
                            select @str5=ISNULL(@str5,'')+#temp.CTI服务器IP from #temp
		                    select @str6=ISNULL(@str6,'')+#temp.CTI服务器端口 from #temp
		                    select  广播掩码=@str1,内部通信端口=@str2,GPS服务器IP列表=@str3,
		                            GPS服务器端口=@str4,CTI服务器IP=@str5,CTI服务器端口=@str6
		
		                    drop table #temp
                ");
            using (SqlDataReader dr = SqlHelper.ExecuteReader(SqlHelper.DispatchString, CommandType.Text, sb.ToString(), null))
            {
                ParameterNetInfo info = new ParameterNetInfo();
                if (dr.Read())
                {
                    info.BroadcastIP = dr["广播掩码"].ToString();
                    info.CommonPort  = Convert.ToInt32(dr["内部通信端口"]);
                    string        IPList = dr["GPS服务器IP列表"].ToString();
                    string[]      ipArr  = IPList.Split(',');
                    List <string> ipList = new List <string>();
                    ipList = ipArr.ToList();
                    info.GpsServerIPList = ipList;
                    info.GpsPort         = Convert.ToInt32(dr["GPS服务器端口"]);
                    info.CtiServerIP     = dr["CTI服务器IP"].ToString();
                    info.CtiPort         = Convert.ToInt32(dr["CTI服务器端口"]);
                }
                //dr.Close();
                return(info);
            }
        }
Ejemplo n.º 3
0
        private InnerCommEntrance GetInstance()
        {
            if (Entrance == null)
            {
                lock (lockObj)
                {
                    if (Entrance == null)
                    {
                        //BasicHttpBinding binding = new BasicHttpBinding();
                        //binding.Name = "ServiceSoap";
                        //binding.CloseTimeout = new TimeSpan(0, 1, 0);
                        //binding.OpenTimeout = new TimeSpan(0, 1, 0);
                        //binding.ReceiveTimeout = new TimeSpan(0, 10, 0);
                        //binding.SendTimeout = new TimeSpan(0, 1, 0);
                        //binding.AllowCookies = false;
                        //binding.BypassProxyOnLocal = false;
                        //binding.MaxBufferSize = 65536;
                        //binding.MaxBufferPoolSize = 524288;
                        //binding.MaxReceivedMessageSize = 65536;
                        //binding.MessageEncoding = WSMessageEncoding.Text;
                        //binding.TextEncoding = Encoding.UTF8;
                        //binding.TransferMode = TransferMode.Buffered;
                        //binding.UseDefaultWebProxy = true;
                        //binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
                        //binding.Security.Mode = BasicHttpSecurityMode.None;

                        //XmlDictionaryReaderQuotas readerQuotas = new XmlDictionaryReaderQuotas();
                        //readerQuotas.MaxDepth=32 ;
                        //readerQuotas.MaxStringContentLength=8192;
                        //readerQuotas.MaxArrayLength=16384;
                        //readerQuotas.MaxBytesPerRead=4096;
                        //readerQuotas.MaxNameTableCharCount=16384;
                        //binding.ReaderQuotas = readerQuotas;

                        //EndpointAddress baseAddress = new EndpointAddress(AppConfig.CoreServiceUrl);

                        //CoreServiceV7.ServiceSoap coreService = new CoreServiceV7.ServiceSoapClient(binding,baseAddress);


                        ParameterNetInfo netinfo   = CoreService.GetParameterNetInfo(1);;//中心
                        List <string>    GPSIPlist = new List <string>(netinfo.GpsServerIPList);
                        Entrance = new InnerCommEntrance(netinfo.BroadcastIP, netinfo.CommonPort, netinfo.CtiServerIP, netinfo.CtiPort, GPSIPlist, netinfo.GpsPort, netinfo.RecordPort);
                    }
                }
            }

            return(Entrance);
        }