0

我在我的服务器上使用 Play 和 Faye。Play 用于 API 调用,而 Faye 用于与客户端通信。

所以,我在服务器中有这个方法:

public static Result broadcast(String channel, String message)
{
   try
   {
       FayeClient faye = new FayeClient("localhost");
       int code = faye.send(channel, message);
       // print the code (prints 200).

       return ok("Hello"); <------------ This is what we care about.
   }
   catch(Exception e)
   {
      return ok("false");
   }
}

这是客户端上的代码,它是一部安卓手机。(它是 HTTP post 方法,它向服务器发送一些东西并得到响应 问题是,我无法打印响应的消息。

public static String post(String url, List<BasicNameValuePair> params)
{

    HttpClient httpclient = new DefaultHttpClient();
    String result = "";
    // Prepare a request object
    HttpPost httpPost;
    httpPost = new HttpPost(url);
    httpPost.setHeader("Content-type", "application/json");
    httpPost.setHeader("Accept", "application/json");

    JSONObject obj = new JSONObject();

    try
    {
        for (NameValuePair pair : params)
            obj.put(pair.getName(), pair.getValue());
    }
    catch (JSONException e)
    {
        return e.getMessage();
    }
    // Add your data
    try
    {
        httpPost.setEntity(new StringEntity(obj.toString(), "UTF-8"));
    }
    catch (UnsupportedEncodingException e)
    {
        return e.getMessage();
    }
HttpResponse httpResponse;
        try
        {
            httpResponse = httpclient.execute(httpPost);


            // Get hold of the response entity
            HttpEntity entity = httpResponse.getEntity();

            String str = EntityUtils.toString(entity);
            Log.e("RestClient", "result = \"" + str + "\""); // hello should be printed here??
}
catch(Exception e)
{
  // ...
}

问题是在 logcat 中,打印的是 [result = ""]。难道我做错了什么?谢谢你。

4

1 回答 1

0

使用 Fiddler 等工具查看 HTTP 响应包含的内容。

于 2013-10-30T17:24:05.290 回答