使用UDP发送和接收

时间:2013-07-15 15:25:30

标签: java android udp

我正在尝试在后端服务器和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);

1 个答案:

答案 0 :(得分:2)

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