示例#1
0
文件: Server.cs 项目: elnomade/hathi
 /// <summary>
 /// Increase connection fails by reason.
 /// </summary>
 /// <param name="reason">Reason why connection fails.</param>
 /// <returns>New fails count.</returns>
 public uint IncFails(byte reason)
 {
     if (CKernel.ServersList.ConnectionFailed(this, reason))
     {
     string strreason="";
     switch ((Protocol.ConnectionReason)reason)
     {
     case Protocol.ConnectionReason.CannotConnect:
         strreason=CKernel.Globalization["SRV_DOWN"];
         break;
     case Protocol.ConnectionReason.ClosedConnection:
         strreason=CKernel.Globalization["SRV_DISCONNECTED"];
         break;
     case Protocol.ConnectionReason.NullPacket:
         strreason=CKernel.Globalization["SRV_FULL"];
         break;
     case Protocol.ConnectionReason.NullID:
         strreason=CKernel.Globalization["SRV_FULL"]; //strreason="ID 0";
         break;
     case Protocol.ConnectionReason.InvalidHeader:
         strreason=CKernel.Globalization["SRV_FULL"]; //strreason="Invalid header";
         break;
     }
     CLog.Log(Constants.Log.Info,"SRV_NOTCONNECT", this.Name, strreason);
     if (reason==(byte)Protocol.ConnectionReason.CannotConnect)
         m_nFails++;
     }
     m_ServerConnection=null;
     m_AllFilesPublished=false;
     m_LastPublishedTime=DateTime.MinValue;
     m_LastFilePublishedIndex=0;
     if (m_LastSearcher!=null) m_LastSearcher.OnTCPSearchEnded();
     return m_nFails;
 }
示例#2
0
文件: Server.cs 项目: elnomade/hathi
 /// <summary>
 /// Connect to the server.
 /// </summary>
 public void Connect()
 {
     CLog.Log(Constants.Log.Info,"SRV_CONNECTING",this.Name);
     if (m_ServerConnection!=null) m_ServerConnection.CloseConnection();
     m_ServerConnection=new CedonkeyServerConexion(this);
     m_ServerConnection.Connect();
 }