【问题标题】:Java client and node.js serverJava 客户端和 node.js 服务器
【发布时间】:2010-12-23 12:02:35
【问题描述】:

我试图实现一个简单的彗星应用程序来发送数据和接收数据,我的客户端是用 java 编写的,服务器在 node.js 中,我试图用 HttpUrlConnection 从客户端实现它,但似乎当我尝试写入服务器时,它没有响应我。那么如何编码服务器来响应呢? (目前使用 http.createServer(function(req, res){...}).listen(8124);

【问题讨论】:

  • 请详细一点。您在客户端告诉我们您正在使用 HttpUrlConnection,但是什么类型的 Http(get/post)?什么网址?你在服务器端使用什么?
  • 我会在周日上班时发布我的代码,而我使用 post 方法,url 是服务器 ip 地址 + 端口,我使用 inputStream 和 outputStream 来编写 HttpURLConnection并从服务器接收数据,并在服务器端使用标准函数进行请求和响应,也许我需要使用 net.Stream 对象,但如果我使用它,如何同时将可写和可读流传递给服务器,另一件事我的最后一个问题是实现服务器将数据推送到客户端,但这是另一个问题+)

标签: java javascript node.js


【解决方案1】:

我正在做与 Android 应用类似的事情。我不能说这是“正确”的做法,但我在我的项目中使用这些类(进行 POST 和检查响应):

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

为了实现我正在做的事情

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(/*...(String) url...*/);
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("key", "value"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost); // <-- this has useful info

为了真正从服务器获取有用的东西,我使用 JSON,因为恕我直言,XML 解析在 Java 中是一个巨大的痛苦。

所以这些是我用来解析 nodejs 向我吐出的 JSON 的类。

import org.json.JSONArray;
import org.json.JSONObject;

...

JSONObject jObject = new JSONObject(EntityUtils.toString(response.getEntity()));
JSONArray datasets = jObject.getJSONArray("blahblahblah");

【讨论】:

    【解决方案2】:

    在我自己的 Android 应用中使用过它(非常容易),我推荐Socket.IO-client Java

    它是“全功能的 Java Socket.IO 客户端库,兼容 Socket.IO v1.0 及更高版本。”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-02
      • 2013-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多