最近項目有個小需求,須要ios實現手機做爲服務端,將內部視頻文件,在外面可以直接訪問ios
結合網上的例子,實現以下:git
一、基於CocoaHTTPServer實現github
二、可用pod集成,也可直接拖動文件集成swift
pod集成:瀏覽器
一、新建項目,Podfile文件以下,執行install服務器
pod 'CocoaHTTPServer'
二、直接拖文件tcp
a、先下載文件CocoaHTTPServer,以下:ide
導入CocoaHTTPServer-master
目錄下的Core文件夾spa
導入Vendor
目錄下的CocoaAsyncSocket
、CocoaLumberjack
文件夾3d
三、在 ViewController裏寫開啓代碼
a、因爲是swift項目,而以上庫都是基於OC的,因此須要在橋接文件import頭
b、初始化httpServer
httpServer = HTTPServer() httpServer.setType("_http.tcp") //一、播放沙盒文件 print("\(NSHomeDirectory())/Documents") //設置http服務器根目錄 httpServer.setDocumentRoot("\(NSHomeDirectory())/Documents")
注意:
一、以上的根目錄我是直接定位到Documents下的,這裏可自行更換
二、這裏我直接拿沙盒的文件播放的,因此demo下載後,須要在沙盒裏先添加一個視頻,或者直接把我項目裏放置的那個視頻拖進去。
c、開啓、關閉。(這裏我爲了省事,直接點擊屏幕進行控制)
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { isOPen = !isOPen if isOPen{ do{ try httpServer.start() print( "請打開如下網址: http://\(HTTPHelper.ipAddress() ?? ""):\(httpServer.listeningPort())/1.mp4") }catch{ print("啓動失敗") } }else{ httpServer.stop() } }
d、開啓後,注意打印的地址,拷貝到電腦的瀏覽器地址欄,能夠直接下載,或者在vlc添加播放地址
(vlc能夠直接百度下載便可。)
e、vlc裏直接觀看,固然其餘播放器也能夠,直接把播放地址添加下。注意:這裏必須保證播放器所在局域網和手機一致。
視頻播放時,能夠快進、快退、暫停等操做。
寫在最後:
一、以上只是一個簡單的例子,實現了ios設備作服務端,外部設備作客戶端,直接訪問ios設備的資源(不單單是視頻,其餘文件同理)
二、pod集成和手動集成都是能夠的,見上文
三、本文是swift版本的,若是須要oc版本,可參考:https://github.com/OPTJoker/CocoaHttpServer