- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在四处寻找合适的技术来实现我想要的应用程序。基本上我使用蓝牙通过 2 个 iOS 设备建立连接。在通信的第一部分中,我只发送消息,一切正常。在第二部分中,我想允许用户共享视频文件;例如,假设视频文件为 20 MB。现在,通过两台设备传输如此大数据的最佳选择是什么?我可以使用 GameKit 并将数据拆分为小数据包吗?需要合理的时间吗?或者最好使用 Bonjour 并等待,直到用户位于同一 wifi 网络下或通过 2 台设备创建 wifi 网络?
提前致谢
最佳答案
如果其他人(像我一样)偶然发现这个问题,我将分享我的经验:
优点:你不需要wifi
缺点:苹果只允许访问BLE接口(interface),这比普通蓝牙慢很多。我尝试过,传输 1 MB 数据大约需要 5 分钟。此外,您需要将数据切成约 20 字节的 block ,并确保另一端正确接收文件。
我还没有真正尝试过,但似乎 GK 可以发送小短信(因为它是为此设计的),但是发送较大的文件仍然会很慢。此外,您只能同时连接 8 个设备。
优点:这是最快的。您可以在几秒钟内发送合理大小的文件(几 MB)。
缺点:您需要位于同一个 wifi 网络中。
优点:假设您有良好的互联网连接,速度相当快,并且您不依赖 wifi(如果您有 3G/LTE)。
事实证明,当您使用像 Parse 这样的后端即服务提供商时,这非常容易。
缺点:
好吧,您必须编写该服务器软件...
您的应用程序用户可能需要移动数据计划。
我最终得到了解决方案 #3,使用 Bonjour 和 Wifi,因为我不想编写服务器端代码。如果你想做到这一点,你需要学习 Socket 编程。我建议使用 CocoaAsyncSocket,它使用 TCP,这样您就不必确保正确接收到文件。
现在已经是2016年了,Swift已经可以用在Obj-C项目中了,你可以看一下我的解决方案,几乎可以省去你所有的工作:https://github.com/JojoSc/OverTheEther
它允许您将任何类型的对象(实现 NSCoding 协议(protocol))发送到另一台设备。
关于iphone - iOS 蓝牙数据传输、Gamekit 或 Bonjour,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11049605/
GameKit 允许我们在比赛结束时为下一位参赛者设置超时。但是,我找不到为第一个参与者的第一步设置超时的方法。有办法吗? 编辑我开始明白为什么 Apple 会把它从 GameKit 中剔除。当您刚刚
我正在寻找一种在 iPhone 和桌面客户端之间建立无线连接的方法。 Gamekit 看起来很有前途,但所有示例/文档都只是解释 iPhone 到 iPhone。 是否有桌面版 Gamekit 对等体
我正在尝试使用 GameKit 框架通过蓝牙发送文件。我遇到的问题是我一次只能发送一个 NSData 对象,但我需要将其保存在另一端。如果不知道文件名,这显然是不可能的,但我不知道如何传输它。我尝试将
我在iPhone上实现了一个通过蓝牙(Gamekit)共享照片的应用程序。 我想知道如何获得一定比例的照片发送。 请告诉我。 谢谢 最佳答案 为了使传输的数据量保持在最大范围内,您必须支持分解数据。
发送回合时,endTurnWithNextParticipants 频繁(可能是 30%-50% 的时间)给出:Error Domain=GKErrorDomain Code=3 “由于与服务器通信时
我对游戏套件非常陌生,所以我从一个基本游戏开始。屏幕上有 2 个玩家,此时允许他们四处移动。 我正在使用 ipad 和手机测试游戏,因此我很快意识到 ipad 用户拥有更多的空间,而不是调整相同的空间
Apple 没有任何 GameKit 配对示例项目吗?我找不到任何 - 只有一个关于排行榜和成就的(称为 GKTapper) 最佳答案 也许GKTank苹果示例代码 关于iphone - GameKi
我目前正在一个应用程序上实现游戏中心。我已经遵循了这个教程Tutorial 1还有这个Tutorial 2他们都有这个 GKLocalPlayer 行 [GKLocalPlayer localPlay
我正在开发一个可以向用户发送文件和操作的应用程序。用户可以随时向服务器请求文件(客户端服务器模型)。有时文件可能相当大(例如 10 MB),在发送时可能会延迟其他小 Action 发送给连接的用户。G
我正在尝试连接 2 台设备,iOS 模拟器和 iPhone 设备。 _picker = [[GKPeerPickerController alloc] init]; _picker.delegate
使用 iOS GameKit 实现服务器应用程序的最佳方式是什么?我应该创建一个单独的服务器线程以某种方式响应所有委托(delegate)事件(接收到的数据等)吗?或者也许使用 NSRunLoops?
这似乎是一个愚蠢的问题,但是 GameKit 可以用于游戏以外的应用程序吗?也就是说,Apple 会批准将 GameKit 用于蓝牙目的但不用于游戏的应用程序吗?还是他们会基于“滥用硬件/软件”或其他
我编写了一个程序,使用 gamekit/蓝牙将使用压缩的 jpeg 的低质量视频从一台 iOS 设备传输到另一台。我确实已经意识到 gamekit/bluetooth 不应该用于此目的(对于小块数据)
我读到,从 iPhone OS 3.1 开始,GameKit 支持 wifi 连接。但文档指出: "If your application configures the peer picker to
在 iOS 上,您可以从设置应用程序中导出 GameKit 日志文件。但是它没有告诉你在哪里可以找到这些日志文件。您也无法从 Xcode->devices 查看它们。 最佳答案 我终于找到了这个信息。
我决定实现自己的接口(interface)来连接运行我的游戏的两个设备,而不是使用 GKPeerPickerController。这实际上运作得很好。但我刚刚意识到,在创建 GKSession 时,我
我想使用 GKSession 连接两台设备,其中一台作为服务器,另一台作为客户端。使用此配置我无法使用 GKPeerPickerController。 我在连接两个设备时遇到问题: 仅使用蓝牙:不可能
我想知道是否可以在 iPhone OS 3.0 或更高版本中直接通过蓝牙使用 bonjour,而不使用 GameKit。谁能提供一些例子吗? 最佳答案 只需宣布服务即可,就像 tc. has said
我正在尝试将 Apple 的游戏中心集成到我的应用程序中。我可以成功地将分数发布到排行榜,并显示排行榜,但是当我尝试关闭排行榜模态视图时,问题就来了。我从游戏工具包编程指南([url]http://d
如何检测 GameKit 自动匹配是否失败? 等待 2 分钟后,即使没有找到自动匹配的玩家,也会调用 GKMatchmakerViewControllerDelegate matchmakerView
我是一名优秀的程序员,十分优秀!