2012-10-08 57 views
0

我有本地網絡連接問題。我正在寫一個iPhone應用程序,我需要讀/寫文件到電腦。兩臺設備連接在同一個網絡上。如何連接和讀取/寫入文件到iphone上的本地計算機?

如果可能的話,我想要連接電腦的IP列表,選擇其中之一,並閱讀/寫入文件,如PDF,DOC,TXT等..如果它是不可能做的,我會寫電腦IP,我想要連接。沒有問題,兩種解決方案都可以。

但我不知道我得到計算機的ip後做什麼? 我發現this本地聊天客戶端/服務器,但我知道它非常複雜。

任何人有任何想法嗎?

回答

-1

我找到了我想要的。解決方案是here

0

您需要在計算機上運行一個服務器,該服務器可以顯示文件並允許讀取和創建文件。

最簡單的是在計算機上運行webdav服務,Apache爲此提供了mod_dav模塊。

iPhone應用程序然後成爲客戶端。我建議爲此使用neon。它是一個C庫,提供在遠程webdav服務器上列出,讀取和寫入文件。

+0

我認爲有服務器是沒有必要的,因爲我可以從另一臺計算機連接到目標計算機。我可以從目標計算機讀取/寫入任何文件,而目標計算機沒有任何服務器。 – relower

0

這就是我會這樣做的。

1)找到您要連接的計算機的網絡地址。爲此,您可以使用Bonjour。設置非常簡單,因爲Bonjour可以爲您解決地址問題。

  • 您只需通過'NSNetService`類,這是可在iOS和OS X(視窗太)發佈服務(例如_myprotocol._tcp) - 在你的情況,你會發布在您的計算機上的服務。
  • 然後您使用NSNetServiceBrowser類搜索服務。
  • 當您找到服務時,您可以解決它。這實際上爲您提供了其他設備的網絡名稱。

2)通過tcp socket連接到其他設備。 CocoaAsyncSocket圖書館非常擅長。這個項目還包括一些例子。一個例子已經提供了bonjour服務器和客戶端實現。

+0

哦夥計,我失去了arround服務..我很困惑,我有一個iPhone應用程序,並有一臺計算機在同一本地網絡作爲iphone,共享一個文件夾的計算機,我只是想寫一個文件。但我現在很困惑,因爲我明白在這裏工作的bonjour,我創建了一個「NSNetService」並在bonjour客戶端上看到它,但我不知道如何連接到共享文件夾。「_ myprotocol._tcp」是tcp連接協議據我瞭解,但什麼應該是Windows共享服務協議?你能幫我解答嗎? – relower

+1

設備之間的通信通過tcp套接字連接進行處理。一個設備將數據寫入套接字,另一個設備從套接字讀取數據。您負責解析數據並將其存儲在文件夾中。在建立連接之前,您必須知道要連接的地址(例如,端口52031上的192.168.0.5)。Bonjour通過抽象IP地址幫助您解決這個問題。通過Bonjour,您可以使用服務名稱。閱讀[文檔](https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/NetServices/Introduction.html) – brutella

+0

好吧,謝謝,我會嘗試Bonjour。 – relower

相關問題