我正在尝试在后端服务器和Android设备之间实现数据传输,这是从设备到服务器的请求以获取信息并且服务器响应(UDP使用因为它更快并且不需要TCP的功能,我想......)
我从哪里开始实施此操作?我查看了Android Docs for DatagramSocket / Packet / SocketImplFactory以及InetAddress和SocketAddress。
这是正确的方向吗?现在我正在使用HTTP Post请求,这些代码是否可循环使用?
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
if (fleetID != null) {
nameValuePairs.add(new BasicNameValuePair("fleetID", fleetID));
}
nameValuePairs.add(new BasicNameValuePair("user", username));
nameValuePairs.add(new BasicNameValuePair("password", password));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
//TODO: response failure? need to ensure success
HttpEntity resEntity = response.getEntity();
String strEntity = EntityUtils.toString(resEntity);
//Log.i("RESPONSE", strEntity);
return (strEntity);
答案 0 :(得分:2)
服务器和Android组件都可以使用标准的Java DatagramSocket类用Java编写。这里可以找到一个快速示例(在这种情况下,它是从命令提示符发送一个String:http://systembash.com/content/a-simple-java-udp-server-and-udp-client/。基本上,您使用给定的端口号创建一个DatagramSocket实例,并将数据作为一个字节发送/接收[但是,我会小心使用UDP.TCP确保在发送文件时不会丢失数据,因此可以确保数据在发送时不会损坏。