0

我正在开发与我们公司服务器通信的企业应用程序。我在手机和服务器之间通过 3G/4G 进行了完整的双向通信,它可以通过我的家庭 wifi 工作,但是在连接到公司网络的办公室使用 wifi 时,应用程序看不到服务器方法。

该应用程序设置为查找我们的外部 IP 地址,并且该端口对服务器开放。但我猜外部 IP 地址在网络内不是“可见的”。当我插入服务器的内部IP 地址时,一切正常。

对于我们的广大用户来说,这不是问题。我们的大多数用户(员工)在现场或其他办公室工作。但是对于我们网络内的用户,除非用户关闭他的wifi,否则这种安排是没有用的。但这不是一种专业的方法。

我需要知道我的应用程序是否有办法专门使用 3G/4G,或者发现 wifi 的 SSID 并决定使用哪个 IP 地址。我猜这两个问题的答案都是“你不能那样做”,但我想我还是会问。

谢谢!

4

3 回答 3

0

好吧,我发现这段代码正是我需要的。它以字符串形式给我 SSID,我可以将 SSID 字符串与我们 wifi 的 SSID 字符串进行比较,如果匹配,则应用程序使用内部 IP 地址。如果不匹配,它将连接到外部 IP 地址。到目前为止,它完美无缺!

于 2012-07-22T17:54:30.840 回答
0

跟进:ceejayoz,我不知道您的第二个建议是否与我们的 IT 人员所做的相同,但他创建了一个可以解析到服务器的域名,无论它是内部的还是外部的。这似乎是最好的方法。因此,即使我有一个可行的答案,URL 也可以用更少的代码更好地工作。

于 2012-07-23T21:42:22.800 回答
0

您可以让它尝试内部 IP,如果无法连接,则回退到外部 IP。不过,更好的解决方案可能是拥有一个内部 DNS 服务器,将内部 IP 提供给网络内设备。

于 2012-07-20T15:43:28.547 回答