iPhone CFSocket传入/传出消息

时间:2012-03-05 15:35:27

标签: iphone objective-c c sockets cfsocket

根据我的理解,你无法插入两个iPhone之间的连接(如果我错了,请纠正我)。所以我想做的是让一台服务器位于接受消息的客户端应用程序之间,并将它们重新分配给适当的人员。从本质上讲,应用程序将允许人们拥有一个包含其位置的共享地图,每个人都可以对其进行注释。

1)我一直在阅读和研究CFStream类,但我很想知道使用C send()和recv()函数是否更好。它们几乎看起来更容易使用。 CFStream提供了什么样的原生C套接字功能,使其成为更好的选择?

2)由于我需要手机主动收听来自其他用户的更新共享用户位置/新注释,我的计划是定期让手机在服务器上查询来自其他用户的任何“新闻”(比如每隔一两分钟) )。无论如何,电话是否可以在应用程序中分离出一个不断等待传入流量的新线程?这将使用户能够更容易地对地图进行注释,将其推送到服务器,然后立即更新相应的用户地图。

我一直在使用来自O'Rielly Media的Jonathan Zdziarski的iPhone SDK书中的示例套接字代码来尝试在服务器和iPhone模拟器(经典的敲门笑话服务器/客户端)之间发送消息。但是,在发送1或2条消息后,服务器卡住“接收”。代码在没有从模拟器发送时运行得很好,因为我似乎垃圾邮件客户端发送功能并且每次都从服务器获得响应。服务器是否可以挂起,因为我使用send()和recv()而不是CFRead和Write流?

1 个答案:

答案 0 :(得分:0)

您可以使用bonjour或者GameKit套接iPhone应用程序(我使用它是因为它为您管理所有数据)。