/// <summary>
 /// 向服务端发送消息
 /// </summary>
 /// <param name="protocol">协议对象</param>
 /// <returns></returns>
 private static bool SendMessage(MessageProtocol protocol)
 {
     if (mc == null)
     {
         mc = new MessageClient(_ip, _port);
     }
     try
     {
         if (!protocol.SerialNumberLock)
         {
             protocol.SerialNumber = serialNumber.ToString();
             //流水号递增
             serialNumber++;
             if (serialNumber > 1000000)
             {
                 serialNumber = 0;
             }
         }
         if (mc.Connect())
         {                   
             //发送命令                    
             string message = ProtocolTranslator.SerilizeMessage(protocol);
             string key = protocol.StationId + protocol.SerialNumber + protocol.TimeSpan;
             if (!htProtocols.ContainsKey(key))
             {
                 htProtocols.Add(key, protocol);
             }
             if (SendComplated != null)
             {
                 //显示消息
                 SendComplated(message);
             }
             mc.Send(message);
             return true;
         }
     }
     catch (Exception ex)
     {
         Log.writeCloudLog("云通讯服务:" + ex.Message);
     }
     return false;
 }
 /// <summary>
 /// 当前服务器连接是否正常
 /// </summary>
 /// <returns></returns>
 public static bool ServiceTest()
 {
     if (mc == null)
     {
         mc = new MessageClient(_ip, _port);
     }
     if (mc.Connect())
     {
         return true;
     }
     return false;
 }       
        /// <summary>
        /// 向服务端发送消息,并接收消息
        /// </summary>
        /// <param name="protocol">协议对象</param>
        /// <returns></returns>
        public static MessageProtocol SendAndReceiveMessage(MessageProtocol protocol)
        {
            if (mc == null)
            {
                mc = new MessageClient(_ip, _port);
            }

            MessageProtocol _protocol = null;
            try
            {
                if (!protocol.SerialNumberLock)
                {
                    protocol.SerialNumber = serialNumber.ToString();
                    //流水号递增
                    serialNumber++;
                    if (serialNumber > 1000000)
                    {
                        serialNumber = 0;
                    }
                }
                if (mc.Connect())
                {
                    //发送命令                    
                    string message = ProtocolTranslator.SerilizeMessage(protocol);
                    mc.Send(message);

                    Thread.Sleep(100);
                    string str = mc.Receive(ProtocolTranslator.StartFlag, ProtocolTranslator.EndFlag);                   
                    _protocol = ProtocolTranslator.DeserilizeMessage(str);
                }               
            }
            catch (Exception ex)
            {
                Log.writeLineToLog(ex.Message, "云支撑平台文件通讯故障");               
            }
            return _protocol;
        }
 /// <summary>
 /// 当前服务器连接是否正常
 /// </summary>
 /// <returns></returns>
 public static bool ServiceTest()
 {
     if (mc == null)
     {
         mc = new MessageClient(GlobalStaticObj_Server.Instance.CloundServerIp, GlobalStaticObj_Server.Instance.CloundServerPort);
     }
     if (mc.Connect())
     {
         return true;
     }
     return false;
 }