2010-12-23 270 views
0

即时通讯尝试实现一个简单的彗星应用程序来发送数据和recive数据,我的客户端是写在java上,服务器是在node.js,即时通讯尝试从客户端实现它与HttpUrlConnection一方,但似乎当我尝试写入服务器它不响应我。所以如何编码服务器来响应? (目前使用http.createServer(function(req,res){...})。listen(8124);Java客户端和node.js服务器

+0

请稍微详细一点。你在客户端告诉我们你正在使用HttpUrlConnection,但是什么类型的Http(get/post)?什么网址?你在服务器端使用什么? – 2010-12-23 12:41:01

回答

1

我正在做类似于Android应用程序的东西,我不能说这是“正确”的方式做到这一点,但我在我的项目中使用这些类(发帖的,并检查响应):

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");