我在WIFI提供的同一局域网上有两个Android应用程序:
如何使(A)可以对(B)进行POST和GET请求? (A)访问(B)使用的URL是什么样的?
感谢All。
答案 0 :(得分:12)
您可能会混淆两种不同级别的网络通信。
等级4 :两个插座之间的TCP连接
一个到一边的逻辑管道(可能是单个(两个进程?)或两个不同的计算机)
只有连接处理数据在此级别处理
等级7 :浏览器/应用服务器使用特定的通信“语言”来交换高级数据(文件,图像,音频..),并在此级别进行处理。
您的问题是打开一个Listening Socket(级别4)和一个使用HTTP协议与它通信的客户端(级别7)。
所以你很想填补空缺套接字听力方面处理HTTP协议
可能是一个java web服务器实现可能会帮助你。
Java EE方式拥有HTTP服务器:“Tiny Java Web Server” @ http://tjws.sourceforge.net/可以帮助您找到您想要的东西
< / LI> “Apache”获取HTTP服务器http://www.androiddevblog.net/android/a-bare-minimum-web-server-for-android-platform的方式
看到
http://en.wikipedia.org/wiki/OSI_model#Layer_3:_Network_Layer
更全面地了解这些通信层
答案 1 :(得分:1)
侦听端口并接受套接字连接不足以将数据提供回HttpClient。套接字实际上提供了一个物理管道,但对于沿着该管道流动的数据的格式一无所知。如果你开始使用HttpClient,那么你需要让你的服务器应用程序理解HTTP协议(或者至少是它的一个非常基本的子集)。
如果您只需要以某种方式进行两个进程通信,那么您最好将服务器应用程序作为服务,然后您的客户端应用程序会询问此服务以获取所需数据。
答案 2 :(得分:1)
我一直在寻找相同的解决方案,并找到了NanoHTTPD - 一个非常简单的HTTP请求处理服务器类。您可以在https://github.com/NanoHttpd
找到来源和非常容易理解的样本