Android中的HTTP over UDT

时间:2014-09-29 14:08:22

标签: android http tcp network-programming udp

我有一个定制的UDT协议,可以在Android上正常运行。现在我想实现HTTP请求和响应(默认情况下通过TCP运行)从我的应用程序运行我的UDT。

  1. 这可能吗?

  2. Android中是否有任何内置机制?

  3. 我是否要修改android的现有HTTP堆栈以完成工作。

  4. 有许多协议可以做到这一点。但我不确定Android。

1 个答案:

答案 0 :(得分:2)

  
      
  1. 有可能吗?
  2.   

让我们看一下RFC 2616(HTTP / 1.1标准):

  

HTTP通信通常通过TCP / IP连接进行。默认端口是TCP 80 [19],但可以使用其他端口。这并不妨碍HTTP在Internet上或其他网络上的任何其他协议之上实现。 HTTP只假定可靠的传输;可以使用任何提供此类保证的协议;

RFC明确指出HTTP的唯一要求是可靠的传输协议。由于UDT是可靠的,是的,它是可能的。

  
      
  1. Android中是否有内置机制?
  2.   

我不是Android专家,但我对此表示高度怀疑。大多数HTTP抽象的要点是隐藏开发人员的细节协议细节,让您专注于应用程序逻辑,而不是担心标头和套接字。由于HTTP不是任何非TCP的东西,我真的怀疑是否存在允许您使用非标准传输协议的现有HTTP抽象。所以据我所知,答案是否定的(如果有人不知道,如果我错了,请纠正我。)

  
      
  1. 我是否要修改现有的Android堆栈以完成工作。
  2.   

由于我对(2)的回答是否定的,我对(3)的回答是肯定的。您可能需要修改现有的HTTP工具,或编写自己的工具。您可能希望查找HTTP over UDP的实现(这可能是一个更流行的用例)或使用netty之类的工具来实现您自己的自定义协议栈。