日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS客户端开启FTP,其他设备访问手机本地文件操作实现

發布時間:2023/12/8 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS客户端开启FTP,其他设备访问手机本地文件操作实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

iOS客戶端開啟FTP,其他設備訪問手機本地文件操作實現

因為項目需要,需要在手機端搭建FTP服務,讓其他設備來訪問手機某個路徑文件夾下邊的文件,實現下載功能。
主要實現借助第三方庫XMFTPServer, 原來文件有修改,實現帶用戶名、密碼訪問連接FTP。

首先封裝FTPManager,便于其他地方使用 .h 文件部分代碼 #import "XMFTPServer.h" @interface FTPManager : NSObject /*** 服務器ftpServer;*/ @property (nonatomic, strong) XMFTPServer *ftpServer; /*** 是否有用戶連接*/ @property (nonatomic, assign) BOOL isLink;/*** 創建ftpServer管理類單例*/ + (instancetype)sharedManager;/*** 主動斷開鏈接*/ - (void)disconnect;/*** 開放端口*/ - (void)portDispark; @end .m 文件部分代碼 @implementation FTPManager/** */ + (instancetype)sharedManager {static FTPManager *_ftpManager = nil;static dispatch_once_t onceToken;dispatch_once(&onceToken, ^{_ftpManager = [[FTPManager alloc] init];});return _ftpManager; }/** 主動斷開鏈接 */ - (void)disconnect {[self.ftpServer stopFtpServer];self.isLink = NO; }/** 開放端口,監聽ftp用戶 */ - (void)portDispark {//默認開放端口為20000unsigned ftpPort = 20000;NSString *basePath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];self.ftpServer = [[XMFTPServer alloc] initWithPort:ftpPort withDir:basePath notifyObject:self];NSLog(@"FTP服務器地址:%@", [NSString stringWithFormat:@"ftp://%@:%u", [ManagerTool getIPAddress],ftpPort]); } /** 監聽登錄用戶 */ - (void)currentUserLogin {self.isLink = YES;NSLog(@"有FTP用戶登錄進來了"); } @end

由于開放FTP需要設置賬戶、密碼, 需要在XMFTPServer源文件作出修改。

XMFTPConnection.m中需要做修改, 修改代碼如下 -(void)doUser:(id)sender arguments:(NSArray*)arguments {// send out confirmation message -- 331 password required forif ( currentUser != nil )currentUser = [NSString new];currentUser = [arguments objectAtIndex:1];NSString *outputString = [[NSString alloc] init];if([[arguments objectAtIndex:1] isEqualToString:@"用戶名"]){outputString = [ NSString stringWithFormat:@"331 Password required for %@", currentUser ];[[NSNotificationCenter defaultCenter] postNotificationName:@"currentUserLogin" object:nil];}else{outputString = @"530 Invalid username\n";}[ sender sendMessage:outputString]; } -(void)doPass:(id)sender arguments:(NSArray*)arguments {NSString *pass = [ arguments objectAtIndex:1 ];NSString *outputString = [[NSString alloc] init];if([pass isEqualToString:@"密碼"]){outputString = [ NSString stringWithFormat:@"230 User %@ logged in.", currentUser ];}else{outputString = @"500 Invalid username or password\n";}[ sender sendMessage:outputString]; }

基本實現iOS開放設置攜帶用戶名、密碼的服務,其他設備可訪問移動端本地文件。

總結

以上是生活随笔為你收集整理的iOS客户端开启FTP,其他设备访问手机本地文件操作实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。