- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个 iOS 应用程序,该应用程序允许用户在本地与其他设备共享 PDF。当应用程序启动时,设备主动成为搜索正在广播文件的服务器的客户端。当客户端看到服务器时,它会在其选项卡中添加一个角标(Badge),并在其表中添加一个条目。
我遇到的问题是 GKSession 只允许在建立连接之前传输一个字符串 - 对等显示名称。我想传输的是文件名、页数,也许还有缩略图。
我目前能想到实现此行为的唯一方法是自动连接客户端和服务器,交换文件信息,然后自动断开连接。如果当前只有一两个文件正在广播,这可能会很有效,但当许多不同的设备正在广播时,可能会出现线程/同步问题。
例如,可能有 7 个文件可用。因此,客户端必须一一连接到它们才能接收所有文件的信息。这可能需要相当长的时间,并且用户可能已经决定他们希望下载“文件 1”。通过点击“文件 1”,应建立连接并开始传输。如果客户端正忙于检索有关其他可用文件的信息,这可能无法立即发生。
我还阅读了与服务器断开连接后不久再次连接到服务器的一些问题..( what GKSession doesn't connect on every attempt? )。
所以我想这可以归结为简单的问题 - 有谁知道如何允许客户端接收有关服务器的其他信息,而不仅仅是对等 ID 和对等名称?
最佳答案
如何以 csv 格式设置显示名称,并且当您收到 csv 名称时,仅显示设备名称。
或者您可以发送 NSDictionary 的 JSON 字符串作为显示名称
将 Json 转换为 NSString 的示例:
{
"DeviceName" : "Example",
"File" : [
{
"FileName" : "PDF1"
"TotalPages" : 100
}
]
}
字符串化版本:
{"DeviceName" : "Example","File" : [{"FileName" : "PDF1","TotalPages" : 100}]}
然后,当您收到 DisplayName 时,仅显示 DeviceName 并在某处解析文件详细信息,以便稍后向服务器发送请求。
请记住,我不知道 GKSession 是否对显示名称长度有限制,因此此解决方案可能不适用于大量文件
关于iphone - GameKit:在没有实际连接的情况下使用 GKSession 发送额外信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12824794/
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
我是一名优秀的程序员,十分优秀!