如何在android上实现一个HTTP服务器

我在WIFI提供的同一个局域网上有两个android应用程序:

  1. 应用程序(A)在端口8033上打开侦听套接字
  2. 应用程序(B)使用HttpClient访问端口8033(A)

(A)可以在(B)上做POST和GET请求?
(A)访问(B)的URL是什么样的?

谢谢大家。

Solutions Collecting From Web of "如何在android上实现一个HTTP服务器"

您可能会混淆两个不同级别的networking通信。

级别4 :两个套接字之间的TCP连接。
在一侧(可以是单个(两个进程?)或两个不同的计算机)之间的逻辑pipe道,只有连接处理数据是在这个级别处理的

级别7 :浏览器/应用程序服务器使用特定通信“语言”来交换高级数据(文件,图像,audio..),并在此级别进行处理。

你的问题是打开一个Listening Socket(级别4)和一个与HTTP协议(级别7)交谈的客户端。

所以你很想填补差距socket听方来处理HTTP协议
可能是一个java web服务器的实现可能会帮助你。

监听端口并接受套接字连接不足以将数据提供给HttpClient。 套接字实际上提供了一个物理pipe道,但对于沿着该pipe道stream动的数据的格式一无所知。 如果您使用HttpClient,那么您需要让服务器应用程序了解HTTP协议(或者至less是它的一个非常基本的子集)。

如果你只需要两个进程以某种方式进行通信,那么你的服务器应用程序可能是一个服务,然后你的客户端应用程序询问这个服务所需的数据。

我正在寻找相同的解决scheme,并发现NanoHTTPD – 一个非常简单的HTTP请求处理服务器类。 您可以在https://github.com/NanoHttpdfind源代码和非常容易理解的示例