1

我正在尝试实现后端服务器和android设备之间的数据传输,这是从设备到服务器的信息请求,服务器响应(使用UDP,因为它更快并且不需要TCP的功能,我猜...)

我从哪里开始实施这个?我查看了 DatagramSocket/Packet/SocketImplFactory 以及 InetAddress 和 SocketAddress 的 Android 文档。

这是正确的方向吗?现在我正在使用 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);
4

1 回答 1

2

服务器和 Android 组件都可以使用标准 Java DatagramSocket 类用 Java 编写。可以在这里找到一个简单的示例(在这种情况下,它从命令提示符发送一个字符串:http: //systembash.com/content/a-simple-java-udp-server-and-udp-client/。基本上,您使用给定的端口号创建一个 DatagramSocket 实例,然后将数据作为字节 [] 发送/接收。但是,我会小心使用 UDP。TCP 确保在发送文件时不会丢失任何数据,因此确保数据在发送时不会损坏。

于 2013-07-15T15:54:52.737 回答