好吧,我的问题可能看起来很愚蠢,但我需要找到答案。
我正在尝试从Android应用程序(客户端)向一个java服务器发送一个字符串,该服务器等待来自许多Android客户端的此类消息并将它们存储在一个文件中。 客户端编码很好,我在教程和博客的帮助下写道,这里是:
HttpURLConnection conn = null;
try {
Log.e("URL", "> " + url);
conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setFixedLengthStreamingMode(bytes.length);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded;charset=UTF-8");
// post the request
OutputStream out = conn.getOutputStream();
out.write(bytes);
out.close();
// handle the response
int status = conn.getResponseCode();
if (status != 200) {
throw new IOException("Post failed with error code " + status);
}
} finally {
if (conn != null) {
conn.disconnect();
}
我想要的是java中的服务器,它可以处理来自不同Android应用程序的这些消息,并将消息字符串存储到文本文件中。我只是想知道如何处理这些传入的消息并将它们变成一个空字符串。
到目前为止,我已经通过以下服务器端编码做了一些可怜的试验:
int port = 8080;
ServerSocket ss = new ServerSocket(port);
Socket s = ss.accept();
while(true) {
if (s == null) {
/* nothing to do */
try {
wait();
} catch (InterruptedException e) {
continue;
}
}
try {
InputStream is = new BufferedInputStream(s.getInputStream());
PrintStream ps = new PrintStream(s.getOutputStream());
ANDROID_DEVICE = ps.flush();
}catch(IOException e){}
}
如果我的问题已在某处被问到并回答,请在评论中发布链接,我不介意你的下来投票,因为我真的做了搜索而无法找到答案。
对于那些使用示例代码回答我问题的天使,请感谢您。
答案 0 :(得分:0)
有很多方法可以解决这个问题。以下是一些。 1)使用应用程序服务器并安装接受来自Android客户端的请求的web服务。 2)创建自己的服务器。注册一个远程对象,它将接受来自Android客户端的请求。通过使用RMI(远程方法调用),您可以实现客户端服务器体系结构。 3)如果Android支持JMS,则使用JMS。
答案 1 :(得分:0)