我正在开发一个 iOS 应用程序,它允许用户在本地与其他设备共享 PDF。当应用程序启动时,设备主动成为搜索正在广播文件的服务器的客户端。当客户端看到服务器时,它会在其选项卡中添加一个标记并向其表中添加一个条目。
我遇到的问题是 GKSession 仅允许在建立连接之前传输一个字符串 - 对等显示名称。我要传输的是文件名、页数,也许还有缩略图。
我目前能想到的实现这种行为的唯一方法是自动连接客户端和服务器,交换文件信息,然后自动断开它们。如果当前只有一个或两个文件正在广播,这可能会很好,当许多不同的设备正在广播时,可能会出现线程/同步问题。
例如,可能有 7 个文件可用。因此,客户端必须一一连接到它们才能接收所有文件的信息。这可能需要相当长的时间,并且用户可能已经决定他们希望下载“文件 1”。通过点击“文件 1”,应建立连接并开始传输。如果客户端正忙于检索有关其他可用文件的信息,这可能无法立即发生。
我还阅读了与服务器断开连接后不久再次连接到服务器的一些问题。(GKSession 每次尝试都没有连接?)。
所以我想这可以归结为简单的问题 - 有没有人知道我如何允许客户端接收有关服务器的其他信息,而不仅仅是 peerID 和 peerName?