繁体   English   中英

Objective-C Bonjour / TCP堆栈

[英]Objective-C Bonjour/TCP Stack

我想知道是否有人知道组合的Objective-C Bonjour / TCP堆栈,这会让我忘记管理套接字,广播服务等,而是让我只托管一个服务和/或获取现有服务的列表,连接到一个。 然后,只需继续将消息从服​​务器端发送到特定客户端或从客户端发送到服务器即可。

我假设所有接收到的消息和/或发现的服务都将通过委托方法发送给我,其余的工作将由堆栈来完成。

我意识到实现自己并不是那么困难,而且我已经完成了一些工作,但是使用成熟的框架会更有意义。

如果与iPhone兼容,则需要加分。

我会说“自己动手”。

如果您不认为问题中列出的要求会改变,那么简单但经过充分测试的套接字服务器+ netservices实现和套接字+流的包装程序就可以了-您甚至可能不需要“框架”本身。

我为一个教程实现了类似的东西,并且到目前为止已经在几个不同的项目中使用了它。 您正在查看TCP套接字服务器的大约200行代码,以及Connection类的300行代码(包括委托等)。

听起来您正在寻找iPhone SDK中包含的GameKit Framework。 GameKit通过GKSession提供了您所需要的。 那里有很多文档,但是正式的Apple指南是一个很好的起点。

查看Apple用于iPhone的WiTap示例应用程序。 您要的许多结构已经存在。 您可以在iPhone开发人员中心找到它。

如何使用iPhone和OSX内置的NSNetServices 那完成了发布/订阅Bonjour服务的所有工作。

当然,如果要发布服务,则需要与之通信的套接字,并且根据所使用的协议,处理传入消息的方式(以及是否有响应等)意味着您必须对消息传递基础结构有先验知识。

如果您甚至不愿意编写它,那么在事实上的所有协议(HTTP)上托管某些内容可能就是前进的方向。 您可以只在设备上托管自己的小型网络服务器,然后让HTTP请求进行通话。 但是,服务的实现与该服务的发现正交。

ConnectionKit ,它可以使通过FTP,HTTP,SFTP,WebDAV和Amazon S3进行通信变得更加容易。 它不直接支持iPhone,因为Cocoa是它的依赖项之一,但我想它是可移植的。 我不确定这在您的情况下是否有用,但我想是为了以防万一。

怎么样使用AsyncSocket呢 我没有亲自使用过它,但这似乎是您的理想选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM