我有本地網絡連接問題。我正在寫一個iPhone應用程序,我需要讀/寫文件到電腦。兩臺設備連接在同一個網絡上。如何連接和讀取/寫入文件到iphone上的本地計算機?
如果可能的話,我想要連接電腦的IP列表,選擇其中之一,並閱讀/寫入文件,如PDF,DOC,TXT等..如果它是不可能做的,我會寫電腦IP,我想要連接。沒有問題,兩種解決方案都可以。
但我不知道我得到計算機的ip後做什麼? 我發現this本地聊天客戶端/服務器,但我知道它非常複雜。
任何人有任何想法嗎?
我有本地網絡連接問題。我正在寫一個iPhone應用程序,我需要讀/寫文件到電腦。兩臺設備連接在同一個網絡上。如何連接和讀取/寫入文件到iphone上的本地計算機?
如果可能的話,我想要連接電腦的IP列表,選擇其中之一,並閱讀/寫入文件,如PDF,DOC,TXT等..如果它是不可能做的,我會寫電腦IP,我想要連接。沒有問題,兩種解決方案都可以。
但我不知道我得到計算機的ip後做什麼? 我發現this本地聊天客戶端/服務器,但我知道它非常複雜。
任何人有任何想法嗎?
我找到了我想要的。解決方案是here
您需要在計算機上運行一個服務器,該服務器可以顯示文件並允許讀取和創建文件。
最簡單的是在計算機上運行webdav服務,Apache爲此提供了mod_dav模塊。
iPhone應用程序然後成爲客戶端。我建議爲此使用neon。它是一個C庫,提供在遠程webdav服務器上列出,讀取和寫入文件。
這就是我會這樣做的。
1)找到您要連接的計算機的網絡地址。爲此,您可以使用Bonjour。設置非常簡單,因爲Bonjour可以爲您解決地址問題。
NSNetServiceBrowser
類搜索服務。2)通過tcp socket連接到其他設備。 CocoaAsyncSocket圖書館非常擅長。這個項目還包括一些例子。一個例子已經提供了bonjour服務器和客戶端實現。
哦夥計,我失去了arround服務..我很困惑,我有一個iPhone應用程序,並有一臺計算機在同一本地網絡作爲iphone,共享一個文件夾的計算機,我只是想寫一個文件。但我現在很困惑,因爲我明白在這裏工作的bonjour,我創建了一個「NSNetService」並在bonjour客戶端上看到它,但我不知道如何連接到共享文件夾。「_ myprotocol._tcp」是tcp連接協議據我瞭解,但什麼應該是Windows共享服務協議?你能幫我解答嗎? – relower
設備之間的通信通過tcp套接字連接進行處理。一個設備將數據寫入套接字,另一個設備從套接字讀取數據。您負責解析數據並將其存儲在文件夾中。在建立連接之前,您必須知道要連接的地址(例如,端口52031上的192.168.0.5)。Bonjour通過抽象IP地址幫助您解決這個問題。通過Bonjour,您可以使用服務名稱。閱讀[文檔](https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/NetServices/Introduction.html) – brutella
好吧,謝謝,我會嘗試Bonjour。 – relower
我認爲有服務器是沒有必要的,因爲我可以從另一臺計算機連接到目標計算機。我可以從目標計算機讀取/寫入任何文件,而目標計算機沒有任何服務器。 – relower