我正在开发一个应用程序,其中一个iOS设备充当“服务器”,而其他设备充当客户端。如果我能用Bonjour做到这一点,我会很难理解
如果我举个例子:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++所有的设备都安装了相同的应用程序。所有用户都连接到相同的WIFI。
用户必须登录到应用程序,当它这样做,聊天室从CMS (网络服务器)从互联网填充。
所有人都能看到,比如所有的“聊天室”。但最初聊天室都是只读的。任何人都可以浏览它们,但没有人可以写入它们。
当管理员(具有管理员特权的用户)打开其中一个聊天室时,所有客户端现在都可以写入“打开的”聊天室。
当然,当一个用户写下一些东西时,其他用户会看到他的最新评论。
管理员应在聊天室中看到所有客户端,但客户端不能互相看到。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
我找到的所有样本(WiTap,来自WWDC的视频,...)只使用两个设备。我已经在4台设备上安装了WiTap。我可以建立连接和工作的“样本”游戏与两个设备。
Bonjour服务可以以多个客户端连接到一个“服务器”的方式使用吗?
任何提示都非常受欢迎!
发布于 2012-03-16 21:33:07
是的,Bonjour可以这样使用:例如Mac上的Apache有mod_bonjour,这样web浏览器就可以在本地网络上找到web服务器。这可能意味着只有一台服务器但有多个浏览器:这正是您所描述的情况。
一个限制是,在iOS中配置Bonjour的方式意味着服务器和客户端需要在相同的本地网络上。听起来你所描述的情况与以这种方式使用Bonjour并不兼容,但我也认为你不需要这样做。您可以在应用程序中使用聊天服务器的DNS名称,以便任何应用程序都可以发现该服务器。服务器还可以负责发现连接了哪些客户端,并允许人们找到彼此(实际上,我猜这就是聊天室的作用)。
发布于 2012-04-05 01:12:41
这是一个很好的起点。http://mobileorchard.com/tutorial-networking-and-bonjour-on-iphone/我已经在chatty的帮助下建立了相同的服务器和客户端。但你只会在iOS5中面临一个问题,当iphone进入睡眠模式时,套接字连接就会断开。我不能解决这个问题。所以,我在寻求帮助。:)
https://stackoverflow.com/questions/9736811
复制相似问题