我正在制作一款利用iPhone的对等蓝牙功能的游戏(可能还有iPod touch第二代).但是,要阻止用户尝试在iPod 1st和iPhone 2G上播放多人游戏,我需要检查特定的设备型号.
[[UIDevice currentDevice] model]只会告诉我该设备是"iPhone"还是"iPod touch".有没有办法检查特定的设备型号,如:"iPhone 3GS","iPod touch第一代"或类似的东西.
编辑:
UIDevice有一个类别(我认为它是由Erica Sadun创建的,我不赞成它),它使用以下代码来获取特定的设备模型.你可以在这里找到整个类别以及其他有用的东西:https://github.com/erica/uidevice-extension
#include <sys/types.h>
#include <sys/sysctl.h>
@implementation UIDevice (Hardware)
/*
Platforms
iPhone1,1 -> iPhone 1G
iPhone1,2 -> iPhone 3G
iPod1,1 -> iPod touch 1G
iPod2,1 -> iPod touch 2G
*/
- (NSString *) platform
{
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];
free(machine);
return platform;
}
Run Code Online (Sandbox Code Playgroud)
这项工作和使用它的应用程序最近已在AppStore中批准.
是否可以在ad-hoc点对点wifi模式下设置Android?例如,我希望有一部电话广播一条消息,并让网络中的所有同伴接收广播,而无需服务器.我想使用wifi,因为蓝牙范围更有限.
如何在客户端使用HTML5,CSS和JavaScript编写网站,以便在加载页面后允许客户端浏览器之间直接进行tcp/ip连接.
我需要这样做以减少延迟,因为该站点将要求其中一个用户的输入尽快传输给其他用户,因此从客户端A发送数据到服务器然后再发送到客户端B不是一个好的选项.
我读过以前关于这个主题的帖子,但是我找不到可用的解决方案/示例.从我读到的内容可以使用Silverlight,Java或Flash等插件进行客户端之间的直接连接.
有没有不需要插件的解决方案?我想只使用JavaScript.
我正在编写一个p2p实现,我想分散,但是我在掌握像bittorrent这样的协议中的DHT方面遇到了一些麻烦.如果没有跟踪器,客户如何知道同行在哪里?对等体是否存储在实际的torrent文件中?
为了澄清何时我询问浏览器与浏览器之间的通信,我的意思是在转发消息之间没有服务器.我想为游戏实现这样的东西.如果不能在websockets中使用p2p,是否有类似的替代方案?任何帮助表示赞赏.
有没有使用专用中央服务器查找对等方的已知方法?
即:如果我有同行正在断开连接并重新连接到互联网,但每次都获得一个新的IP地址,我想连接到它们而无需设置专用服务器进行注册.
我正在考虑使用对等电子邮件地址定期发送连接对等的清单,使用某种时间码,无需专用服务器.如果在尝试所有先前已知的对等地址之后没有任何对等体可以连接,则这将是后备.但现有的寻找同行的模式更可取.
我只能获得PeerChannel SecureChat的这个SDK示例,以便在基本家庭网络中的以下场景中工作:
我无法在我的Windows Server 2008 R2和任何其他计算机之间工作(没有抛出异常,但节点永远不会找到彼此,因此不会"在线").我可以ping所有机器的IPv6地址.可执行文件具有防火墙例外规则,但我也尝试完全禁用Windows 2008防火墙.PRNP服务正在运行.
是否有可能让它运作?怎么样?
它适用于您的2008机器吗?
我最好的猜测:我注意到在Windows 7机器中,存在"对等网络分组"和"对等网络身份管理器"服务."对等网络分组"服务在那里的描述和在线谈话专门关于启用多方对话,但与家庭组相关.Windows Server计算机中缺少此服务.
因此,我怀疑缺少的服务是SecureChat示例无法在Windows Server计算机上运行的原因,但我不明白为什么Microsoft会阻止Peer Channel处理Server产品.这可能是原因吗?
谢谢!
使用HTML5 Websockets,我可以直接在2个客户端(浏览器)之间打开套接字(假设我知道他们的IP地址并且没有NAT遍历问题).我想直接从一个浏览器向另一个浏览器发送一些数据,主要是创建一个P2P网络.到目前为止我在网上看到的所有内容,websockets都用于客户端和服务器之间的通信,但客户端与客户端之间没有任何关系.
谢谢
我们可以看到使用点对点原则的系统的增长.但是有一个区域是点对点(尚未)广泛使用:网络托管.
已经启动了几个项目,但是没有大的解决方案可以允许用户使用并为对等网站主机做出贡献.
我不是指不开放的项目(比如谷歌虚拟主机,使用谷歌资源,而不是用户),而是开放项目,每个用户通过让其资源(cpu,bandwith)为托管全球虚拟主机做出贡献.能得到的.
我可以想到这些系统的几个资产:
那么,为什么这样的系统还没有被广泛使用呢?
编辑: 我认为"97.2%,plz种子!!" 出现问题,因为所有用户都没有播种所有文件.但是,如果构建了所有用户对所有内容均等贡献的系统,则不再出现此问题.由此可见,对等存储系统(如Wuala)是可靠的.
专有代码的问题是相关的,以及用户可能不知道他托管哪些内容(可能是"坏")的事实.谢谢你的回答.
我添加了另一个问题:延迟可能高于专用服务器.
编辑2: 代码和数据的机密性可以通过加密来实现.例如,对于Wuala,所有文件都是加密的,我认为此系统中没有已知的安全漏洞(但我可能错了).
确实,播种者不会有很多好处,或者很少.但它会阻止人们依赖网络托管公司.我认为,这种分散的主办网站方式更接近互联网的最初想法.