2012-10-08 36 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

相关问题