【論文寫作】客戶端設(shè)計(jì)與實(shí)現(xiàn)中模塊程序?qū)崿F(xiàn)如何寫
4.1模塊的程序?qū)崿F(xiàn)
4.3.1? 連接管理的程序?qū)崿F(xiàn)
在用戶打開軟件后進(jìn)入主窗體(MFFTP.cs),在連接服務(wù)器輸入框中輸入IP地址、用戶名及密碼后。先發(fā)送IP地址和端口號到服務(wù)器,然后對其應(yīng)答分析,如果應(yīng)答碼為220表示對新用戶服務(wù)準(zhǔn)備好,繼續(xù)發(fā)送用戶名返回應(yīng)答碼331表示用戶名正確需要口令。最后發(fā)送密碼直到返回應(yīng)答碼230表示用戶登錄成功。其主要代碼程序如下:
??? ??? public void Connect()
??????? {
??????????? socketControl= new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
??????????? IPEndPointep = new IPEndPoint(IPAddress.Parse(RemoteHost), strRemotePort);
??????????? //鏈接
??????????? try
??????????? {
??????????????? socketControl.Connect(ep);
??????????? }
??????????? catch(Exception)
??????????? {
??????????????? thrownew IOException("Couldn't connect to remote server");
??????????? }
??????????? //獲取應(yīng)答碼
??????????? ReadReply();
??????????? if(iReplyCode!= 220)
??????????? {
??????????????? DisConnect();
??????????????? thrownew IOException(strReply.Substring(4));
??????????? }
??????????? //登錄
??????????? SendCommand("USER"+strRemoteUser);
??????????? if(!(iReplyCode == 331 || iReplyCode == 230) )
??? ??????? {
??????????????? CloseSocketConnect();//關(guān)閉連接
??????????????? thrownew IOException(strReply.Substring(4));
??????????? }
??????????? if(iReplyCode != 230 )
??????????? {
??????????????? SendCommand("PASS"+strRemotePass);
??????????????? if(!(iReplyCode == 230 || iReplyCode == 202) )
??????????????? {
??????????????????? CloseSocketConnect();//關(guān)閉連接
??????? ??????????? throw newIOException(strReply.Substring(4));
??????????????? }
??????????? }
??????????? bConnected= true;
??????????? //切換到目錄
??????????? ChDir(strRemotePath);
??????? }
4.3.2? 文件管理的程序?qū)崿F(xiàn)
對文件的管理有新建、刪除、及屬性設(shè)置。這里只對文件夾的刪除操作做介紹,先實(shí)例化DirectoryInfo類并傳入?yún)?shù)path,然后判斷是文件還是文件夾用Delete()方法來刪除文件。其主要代碼程序如下:
