iphone - 通过网络发送 UITouch
<p><p>我正在构建一个允许用户在屏幕上绘图的应用程序。我想添加网络功能,以便用户 A 可以在用户 B 的屏幕上绘图。我目前的计划是构建一个系统,其中我有自己的 UserOrNetworkTouch 对象,该对象可以基于真实的 UITouch 或来自网络的消息创建,并将应用程序中的所有绘图都基于 UserOrNetworkTouch 事件,而不是比 UITouch 事件。</p>
<p>我想使用这个系统的另一件事是记录触摸,因此用户将能够按下“记录”,然后稍后播放他们的绘图。</p>
<p>我想确保我没有在这里重新发明轮子。是否有任何可用的库可以为我处理部分或全部这些问题?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>您可能不会通过网络发送 <code>UITouch</code> 对象(尽管您可以根据需要发送)。我可能会将触摸位置打包成某种结构,然后发送它以减少您发送的流量。如果您需要整个 UITouch 对象及其所有数据,那么请务必将对象发送到您的服务器。</p>
<p>您可以使用 <a href="http://developer.apple.com/mac/library/documentation/Networking/Conceptual/CFNetwork/Introduction/Introduction.html" rel="noreferrer noopener nofollow"><code>CFNetwork</code></a>框架将数据从客户端应用程序发送到服务器。如果你这样做了,你真的应该尝试使用 IPv6。</p>
<p>Apple 在此处提供使用 CFNetwork 的示例代码 <a href="http://developer.apple.com/mac/library/documentation/Networking/Conceptual/CFNetwork/CFStreamTasks/CFStreamTasks.html#//apple_ref/doc/uid/TP30001132-CH6-SW1" rel="noreferrer noopener nofollow"><code>streams</code></a> </p>
<p>如果您想记录触摸事件,只需使用 <code>NSArray</code> 或 <code>NSDictionary</code> 如果您想存储触摸以及触摸发生时间的时间戳.</p>
<p>然后只需在用户进行触摸时将每个触摸添加到数组或字典中。</p>
<p><strong>更新:</strong>我不会在 Apple 的 WiTap 示例代码上浪费您的时间。我之前读过它,如果你想要一个简单的客户端/服务器应用程序快速启动并运行,其中有很多代码会让人感到困惑和无关紧要。如果您以前没有做过任何网络编程,那您很可能会感到困惑。</p>
<p>我会先让网络传输正常工作,然后如果您愿意,可以引用 <a href="http://developer.apple.com/iphone/library/samplecode/WiTap/Introduction/Intro.html" rel="noreferrer noopener nofollow">WiTap</a>对于 Bonjour 网络部分,您可以自动发现客户端和服务器。但只有在数据流首先工作后才能添加 Bonjour 支持。</p></p>
<p style="font-size: 20px;">关于iphone - 通过网络发送 UITouch,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/3595659/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/3595659/
</a>
</p>
页:
[1]