我有一个iPhone应用程序,它依赖于通过本地网络连接到在用户的mac / pc上运行的服务器。
服务器正在端口8080上运行http服务
我已经为默认的Windows防火墙或默认的mac防火墙添加了例外,以确保允许流量到达我的应用。
然而,最常见的客户问题是iPhone无法与服务器通信。
通常这是阻止流量的网络路由器 - 尽管有时用户正在运行自己的防火墙来阻止流量。
是否有协议可以让我说出
的效果'此网络上的所有防火墙,如果流量来自此网络,请允许与<an ip> on <a port>
进行通信吗?
我已经调查了upnp - 但这似乎集中在打开一个我不想做的外部世界的端口。
建议?
提前感谢。
答案 0 :(得分:0)
不,除了UPnP之外,没有这样的方法或协议。我不会推荐它,因为在公司网络中,如果可能的话,会导致各种问题和安全问题。
我建议您为软件设置常见问题解答条目或安装部分,您可以在其中描述此常见问题,并向客户详细说明如何检测并解决此问题。
答案 1 :(得分:0)
通常,较高的端口(8000或16000以上)不会被阻挡或防火墙。我会认真考虑在该范围内分配一个随机端口。
另外,请考虑使用Bonjour宣传您的服务。使用Bonjour有一个很好的副作用,你的iPhone应用程序不必知道端口号。它可以简单地浏览网络以获取可用的服务器。如果只有一个然后连接到那个,否则向用户显示一个列表供选择。
答案 2 :(得分:0)
有没有办法在端口80上运行服务器?您可能在标准端口上遇到的问题较少。