如何在android上实现HTTP服务器

时间:2011-09-01 09:18:35

标签: android sockets client httpclient httpserver

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

  1. 在端口8033上打开侦听套接字的应用程序(A)
  2. 使用HttpClient访问端口8033上的(A)的应用程序(B)
  3. 如何使(A)可以对(B)进行POST和GET请求? (A)访问(B)使用的URL是什么样的?

    感谢All。

3 个答案:

答案 0 :(得分:12)

您可能会混淆两种不同级别的网络通信。

等级4 :两个插座之间的TCP连接 一个到一边的逻辑管道(可能是单个(两个进程?)或两个不同的计算机) 只有连接处理数据在此级别处理

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

您的问题是打开一个Listening Socket(级别4)和一个使用HTTP协议与它通信的客户端(级别7)。

所以你很想填补空缺套接字听力方面处理HTTP协议
可能是一个java web服务器实现可能会帮助你。

答案 1 :(得分:1)

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

如果您只需要以某种方式进行两个进程通信,那么您最好将服务器应用程序作为服务,然后您的客户端应用程序会询问此服务以获取所需数据。

答案 2 :(得分:1)

我一直在寻找相同的解决方案,并找到了NanoHTTPD - 一个非常简单的HTTP请求处理服务器类。您可以在https://github.com/NanoHttpd

找到来源和非常容易理解的样本