Exemple #1
0
 //ログイン
 public bool Login(String user, String pass)
 {
     //切断中の場合はエラー
     if (Status != PopClientStatus.Authorization)
     {
         SetLastError("Login() Status != Authorization");
         return(false);
     }
     //USER送信
     if (!SendCmd(String.Format("USER {0}", user)))
     {
         return(false);
     }
     //+OK受信
     if (!RecvStatus())
     {
         return(false);
     }
     //PASS送信
     if (!SendCmd(String.Format("PASS {0}", pass)))
     {
         return(false);
     }
     //+OK受信
     if (!RecvStatus())
     {
         return(false);
     }
     Status = PopClientStatus.Transaction;
     return(true);
 }
Exemple #2
0
 //接続
 public bool Connect()
 {
     if (Status != PopClientStatus.Idle)
     {
         SetLastError("Connect() Status != Idle");
         return(false);
     }
     if (_ip.InetKind == InetKind.V4)
     {
         _sockTcp = Inet.Connect(_kernel, _ip, _port, _sec + 3, null);
     }
     else
     {
         _sockTcp = Inet.Connect(_kernel, _ip, _port, _sec + 3, null);
     }
     if (_sockTcp.SockState == SockState.Connect)
     {
         //+OK受信
         if (!RecvStatus())
         {
             return(false);
         }
         Status = PopClientStatus.Authorization;
         return(true);
     }
     SetLastError("Faild in PopClient Connect()");
     return(false);
 }
Exemple #3
0
 //接続確認
 void ConfirmConnect()
 {
     //既に切断されている場合
     if (_sockTcp.SockState != SockState.Connect)
     {
         Status = PopClientStatus.Idle;
     }
 }
Exemple #4
0
        public PopClient(Kernel kernel, Ip ip, int port, int sec, ILife iLife)
        {
            _kernel = kernel;
            _ip     = ip;
            _port   = port;
            _sec    = sec;
            _iLife  = iLife;

            Status = PopClientStatus.Idle;
        }
Exemple #5
0
 //接続
 public bool Connect()
 {
     if (Status != PopClientStatus.Idle){
         SetLastError("Connect() Status != Idle");
         return false;
     }
     if (_ip.InetKind == InetKind.V4){
         _sockTcp = Inet.Connect(_kernel, _ip, _port, _sec+3, null);
     } else{
         _sockTcp = Inet.Connect(_kernel, _ip, _port, _sec+3, null);
     }
     if (_sockTcp.SockState == SockState.Connect){
         //+OK受信
         if (!RecvStatus()) {
             return false;
         }
         Status = PopClientStatus.Authorization;
         return true;
     }
     SetLastError("Faild in PopClient Connect()");
     return false;
 }
Exemple #6
0
 public bool Quit()
 {
     //切断中の場合はエラー
     if (Status == PopClientStatus.Idle)
     {
         SetLastError("Quit() Status == PIdle");
         return(false);
     }
     //QUIT送信
     if (!SendCmd("QUIT"))
     {
         return(false);
     }
     //+OK受信
     if (!RecvStatus())
     {
         return(false);
     }
     //切断
     _sockTcp.Close();
     _sockTcp = null;
     Status   = PopClientStatus.Idle;
     return(true);
 }
Exemple #7
0
 //接続確認
 void ConfirmConnect()
 {
     //既に切断されている場合
     if (_sockTcp.SockState != SockState.Connect) {
         Status = PopClientStatus.Idle;
     }
 }
Exemple #8
0
 public bool Quit()
 {
     //切断中の場合はエラー
     if (Status == PopClientStatus.Idle) {
         SetLastError("Quit() Status == PIdle");
         return false;
     }
     //QUIT送信
     if (!SendCmd("QUIT")){
         return false;
     }
     //+OK受信
     if (!RecvStatus()){
         return false;
     }
     //切断
     _sockTcp.Close();
     _sockTcp = null;
     Status = PopClientStatus.Idle;
     return true;
 }
Exemple #9
0
 //ログイン
 public bool Login(String user, String pass)
 {
     //切断中の場合はエラー
     if (Status != PopClientStatus.Authorization) {
         SetLastError("Login() Status != Authorization");
         return false;
     }
     //USER送信
     if (!SendCmd(String.Format("USER {0}",user))) {
         return false;
     }
     //+OK受信
     if (!RecvStatus()) {
         return false;
     }
     //PASS送信
     if (!SendCmd(String.Format("PASS {0}", pass))) {
         return false;
     }
     //+OK受信
     if (!RecvStatus()) {
         return false;
     }
     Status = PopClientStatus.Transaction;
     return true;
 }