Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
移动设备网络交换机会影响http通信吗?_Http_Networking_Mobile_Tcp - Fatal编程技术网

移动设备网络交换机会影响http通信吗?

移动设备网络交换机会影响http通信吗?,http,networking,mobile,tcp,Http,Networking,Mobile,Tcp,对于移动应用程序,可以有效地假设网络可能是间歇性的,或者随着用户不断移动,网络可能会从一个切换到另一个。例如,您的设备已连接到startbucks wifi,在您端上咖啡走出商店之前,您正在使用该应用程序->您的移动设备网络可能会从wifi切换到运营商网络3G/4G/LTE。即使使用运营商网络本身,它也可能根据您所在位置的覆盖范围在3G/4G/LTE之间切换 问题:, 这种间歇性网络或频繁的网络切换会影响http通信吗? 例如,http请求是通过Wifi发送的,当服务器处理请求时,设备已经切换到

对于移动应用程序,可以有效地假设网络可能是间歇性的,或者随着用户不断移动,网络可能会从一个切换到另一个。例如,您的设备已连接到startbucks wifi,在您端上咖啡走出商店之前,您正在使用该应用程序->您的移动设备网络可能会从wifi切换到运营商网络3G/4G/LTE。即使使用运营商网络本身,它也可能根据您所在位置的覆盖范围在3G/4G/LTE之间切换

问题:, 这种间歇性网络或频繁的网络切换会影响http通信吗? 例如,http请求是通过Wifi发送的,当服务器处理请求时,设备已经切换到4G。设备是否仍然能够接收响应? 如果是,Http或TCP是如何设计来支持这种情况的?
如果没有,我们是否应该尝试从应用层解决问题?以及设备如何仍然能够接收到响应?

对于当前实践,网络切换后的编号:

  • 设备的公共IP地址已更改
  • TCP连接基于IP协议,因此所有当前TCP连接都将被破坏
  • HTTP是基于TCP连接的,所以它也会被破坏
  • 实际上,您可以做一个简单的实验来验证这一点:将一个网页放到internet上,让web服务器将页面交付延迟30秒。在等待响应时访问此页面并切换网络

    然而,这是移动世界中的一个经典问题,因此正在做一些工作,为移动设备提供一个恒定的IP,当设备从一个网络切换到另一个网络时,这将使TCP和HTTP保持活动状态。你可以在维基百科上查看更多关于各种技术和协议的信息

    如果没有,我们是否应该尝试从应用层解决问题?

    这取决于您是否能够容忍应用程序的网络中断。如果它是一个静态网页,我认为完全可以不考虑这个问题,等待未来移动IP技术的改进。如果它是一个高度依赖网络的应用程序,比如在线视频或股市应用程序,我认为这个问题应该在应用层解决

    怎么做?

    有3种方法可以解决此问题(可能更多):

  • 缓存。预取资源,以便在TCP连接被破坏和重新连接时,设备可以使用缓存的资源。这在在线音频/视频应用程序中效果很好,但在无法预取资源(例如实时股票市场数据)时不适用
  • 将TCP重新连接作为第一优先级。检查您的代码,当HTTP由于TCP连接被破坏而失败时,请尽早重新发送HTTP请求
  • 改善网络中断时的用户体验

  • 设备仍能接收响应吗?

    对于当前实践,网络切换后的编号:

  • 设备的公共IP地址已更改
  • TCP连接基于IP协议,因此所有当前TCP连接都将被破坏
  • HTTP是基于TCP连接的,所以它也会被破坏
  • 实际上,您可以做一个简单的实验来验证这一点:将一个网页放到internet上,让web服务器将页面交付延迟30秒。在等待响应时访问此页面并切换网络

    然而,这是移动世界中的一个经典问题,因此正在做一些工作,为移动设备提供一个恒定的IP,当设备从一个网络切换到另一个网络时,这将使TCP和HTTP保持活动状态。你可以在维基百科上查看更多关于各种技术和协议的信息

    如果没有,我们是否应该尝试从应用层解决问题?

    这取决于您是否能够容忍应用程序的网络中断。如果它是一个静态网页,我认为完全可以不考虑这个问题,等待未来移动IP技术的改进。如果它是一个高度依赖网络的应用程序,比如在线视频或股市应用程序,我认为这个问题应该在应用层解决

    怎么做?

    有3种方法可以解决此问题(可能更多):

  • 缓存。预取资源,以便在TCP连接被破坏和重新连接时,设备可以使用缓存的资源。这在在线音频/视频应用程序中效果很好,但在无法预取资源(例如实时股票市场数据)时不适用
  • 将TCP重新连接作为第一优先级。检查您的代码,当HTTP由于TCP连接被破坏而失败时,请尽早重新发送HTTP请求
  • 改善网络中断时的用户体验