sessiondisconnected.cs

来自「ftp客服端源代码」· CS 代码 · 共 50 行

CS
50
字号
using System;
using System.Text;

namespace KCommon.Net.FTP
{
	internal class SessionDisconnected : SessionState
	{
		private Session			m_host;
		private string			m_server;
		private int				m_port;
		
		internal SessionDisconnected(Session h)
		{
			m_port	= 21;
			m_host	= h;
		}

		override public string Server
		{
			set {m_server = value;}
			get {return m_server;}
		}

		override public int Port
		{
			set {m_port = value;}
			get {return m_port;}
		}

		override public void Connect(string user, string pass)
		{
			ControlChannel ctrl = new ControlChannel(m_host);
			ctrl.Server = m_server;
			ctrl.Port	= m_port;
			ctrl.Connect();
			try {
				ctrl.FtpCommand("USER " + user);
				if(ctrl.LastResponse.Code == FtpResponse.UserAcceptedWaitingPass)
					ctrl.FtpCommand("PASS " + pass);
				if(ctrl.LastResponse.Code != FtpResponse.UserLoggedIn)
					throw new FtpException("Failed to login.", ctrl.LastResponse);
				m_host.State = new SessionConnected(m_host, ctrl);
				((SessionConnected)m_host.State).InitRootDirectory();
			}catch {
				ctrl.Close();
				throw;
			}
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?