Objective c Cocoa服务器具有用户友好的自动端口转发或外部ip查找功能

Objective c Cocoa服务器具有用户友好的自动端口转发或外部ip查找功能,objective-c,cocoa,networking,upnp,Objective C,Cocoa,Networking,Upnp,我正在编写一个mac应用程序,它将是一个向每个用户的移动设备提供文件的服务器 当然,问题在于获取服务器主机的实际ip/端口,因为它通常位于家庭网络内部。如果ip/端口发生变化,那也没什么大不了的,因为我计划先将信息发送到中间人服务器,然后让我的移动应用程序从那里获取信息 我已经尝试过upnp,但即使我知道我的路由器支持upnp,库也不能按预期工作 我甚至尝试在我的AmazonEC2实例上运行TURN服务器,但我很难弄清楚如何与它通信以获得我需要的信息 从昨晚开始,我一直在尝试谷歌的LibKing

我正在编写一个mac应用程序,它将是一个向每个用户的移动设备提供文件的服务器

当然,问题在于获取服务器主机的实际ip/端口,因为它通常位于家庭网络内部。如果ip/端口发生变化,那也没什么大不了的,因为我计划先将信息发送到中间人服务器,然后让我的移动应用程序从那里获取信息

我已经尝试过upnp,但即使我知道我的路由器支持upnp,库也不能按预期工作

我甚至尝试在我的AmazonEC2实例上运行TURN服务器,但我很难弄清楚如何与它通信以获得我需要的信息

从昨晚开始,我一直在尝试谷歌的LibKingle,但我甚至很难运行提供的ios示例


完成这项看似困难的任务有什么建议吗?

应用程序的端口不会改变。IP更改可以通过每小时或任意时间段将服务器IP发布到web服务来处理

服务器应该运行一个URL,然后让您的serverip.php处理其余部分(将其放入mySQL数据库或其他东西中)

当您的客户端启动时,它应该向您的站点请求IP,然后使用该IP连接到您的服务器


这是处理这类事情的一种非常常见的方法。

它没有那么简单,因为如果有家庭路由器,路由器将不知道如何仅基于ip转发请求。此外,端口应该是动态的。你可以要求用户进行端口转发,但这对用户不友好,因此所有的upnp、nat pnp、使用turn servers etcIs的路由器端口转发都是可能的?在我的路由器上也是可能的,因为我知道如何做,但我想构建一个祖母可以使用的应用程序