//ログイン 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); }
//接続 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); }
//接続確認 void ConfirmConnect() { //既に切断されている場合 if (_sockTcp.SockState != SockState.Connect) { Status = PopClientStatus.Idle; } }
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; }
//接続 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; }
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); }
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; }
//ログイン 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; }