|
|
1
5
SCNetworkReachability API仅检查地址是否可以路由到。引用文件:
这与NAT或端口限制无关。路由基于地址,而不是端口。因此(通过SCNetworkReachabilityAPI)您所能发现的就是(理论上)是否能够到达机器的接口。它不会尝试在某个端口上建立连接。 因此,为了确定是否可以访问该服务,您必须尝试并测试自己。最好是当SCNetworkReachability API告诉您可以建立连接时。只需尝试连接到端口61616上的服务器,然后查看是否获得连接或超时。正确的超时值和处理在这里至关重要。 |
|
|
2
2
这是一件变化很大的事情,不仅是承运人之间的承运人,但从合同到合同。例如,在英国,O2仅对按量付费客户的web地址(可能是端口80和443,但我没有检查)进行互联网访问限制,但允许合同中的人员或多或少地免费访问。(我希望它对iphonepayg客户更开放一些。)
我不确定是否有一种简单的方法来检查某个特定端口是否打开,也许您最好的选择是使用“合理”的超时。当然,有很多原因可能会导致超时,因此您的错误必须是适当的。 |
|
|
3
1
如果您的iPhone通过EDGE/Mobile连接,它可能位于NAT网关后面,因此您无法与之联系。至少德国的T-Mobile就是这样。iPhone通过T-Mobile(172.16.x.x)获得RFC IP地址。 我会用连接到本地WiFi网络的iPhone进行测试,如果可能的话,通常设计应用程序的方式是让iPhone与服务器联系,然后服务器可以与手机通信。 |
|
|
4
0
这可能行不通。通常,GPRS/EDGE/UMTS基础设施会阻止传入连接。否则,移动用户可能会因其未请求的不必要流量而付费。(想象有人在接下来的六周内每秒敲打你的iPhone一次,你会为此付出代价的……) 解决方案是建立从移动设备到远程机器的连接,然后让远程机器使用该连接进行通信。 |
|
|
mikko · SwiftUI如何在不同堆栈中实现同一视图的平滑动画 1 年前 |
|
|
routern · 如何组合contextMenu和圆角矩形? 1 年前 |
|
|
DevHome98 · 3D触摸不适用于设备swift 2 年前 |
|
|
dunoiww · 从全屏返回时如何触发onAppear 2 年前 |
|
|
Community wiki · iPhone上ivar的继承问题 2 年前 |
|
|
Community wiki · 查找iOS日历 3 年前 |
|
|
Community wiki · 有效的IPhone编程技术[关闭] 3 年前 |