【发布时间】:2013-05-06 18:26:56
【问题描述】:
我正在研究一个类似于家庭自动化系统的想法。 网络设备的布局是这样的:
我想要的是我的手机应用程序能够随时与家庭服务器通信,而且服务器也能够访问我的手机(推送通知)。 为此,我认为使用数据中心中的服务器作为流量中心来实现 TCP-Holepunching 是一个好主意。
但问题是,由于我的 Java 技能还不够好,我不得不用 PHP 脚本语言编写服务器,但 PHP 无法保持套接字处于活动状态。
是否有可用的 TCP 打孔服务器软件(在 Debian 中可执行)能够保持套接字活动并将任何命令从我的服务器推送到正确的目的地(即:电话),反之亦然?
【问题讨论】:
-
关于你的赏金:用这么少的信息提供一个可行的解决方案是不可能的。有很多变量,例如“防火墙”是什么意思? NAT?仅限 HTTP?您打算使用哪些类型的手机?看看 XMPP 协议,对于手机来说可能还有 BOSH。不过,再具体不过了。
-
基本上,只要设备能够与数据中心中的服务器建立连接,我应该能够从任何地方建立连接,该连接必须保持活动状态能够沟通
-
我可能错误地指定了“工作答案”,我的意思是某种可以使用的代码示例,而不是仅仅告诉我你是否使用代码 A 和库 B 你应该能够创建产品C
-
你用的是什么手机?大多数现代手机已经有推送通知......
-
Android 4.2,它们支持推送通知,但在某些情况下我的服务器将无法访问它(例如在 NAT 或防火墙后面)
标签: php networking hole-punching