1

我有一个 iPhone 应用程序,它依赖于通过本地网络连接到在用户的 mac/pc 上运行的服务器。

服务器正在端口 8080 上运行 http 服务

我已经向默认的 windows 防火墙或默认的 mac 防火墙添加了例外,以确保允许流量到达我的应用程序。

然而,最常见的客户问题是 iPhone 无法与服务器通信。

通常这是阻止流量的网络路由器 - 尽管有时用户正在运行自己的防火墙来阻止流量。

有没有一个协议可以让我说些什么

<an ip> on <a port>“如果流量来自该网络,请允许此网络上的所有防火墙进行通信吗?”

我已经研究过 upnp - 但这似乎专注于向外界开放一个我不想做的端口。

建议?

提前致谢。

4

3 回答 3

0

不,除了 UPnP 之外没有这样的方式或协议。而且我无论如何都不推荐它,因为在公司网络中,如果可能的话,它会导致各种问题和安全问题。

我建议您为您的软件设置一个常见问题解答条目或安装部分,在其中描述此常见问题并向客户详细说明他们如何检测和解决此问题。

于 2010-01-22T18:03:06.603 回答
0

通常,更高的端口(8000 或 16000 以上)不会被阻止或防火墙。我会认真考虑在该范围内分配一个随机端口。

此外,考虑使用 Bonjour 宣传您的服务。使用 Bonjour 有一个很好的副作用,即您的 iPhone 应用程序不必知道端口号。它可以简单地浏览网络以查找可用服务器。如果只有一个,则连接到那个,否则为用户提供一个可供选择的列表。

于 2010-01-22T18:06:02.793 回答
0

有什么方法可以在 80 端口上运行服务器吗?您可能会在标准端口上遇到更少的问题。

于 2010-01-22T18:07:25.100 回答