UDP的数据发送是按照包来发送的。也就是说,你要先把你的数据包装成一个DatagramPacket,然后发送出去。
UDP的开销小,因此用于短连接会非常方便。但缺点就是丢包,(可以辅助以一个TCP协议加以维持丢包重发)。
下面是实例代码,其实无论客户端或服务端都是差不多的,毕竟UDP更偏向于单向发送。
Android客户端:(需要注意的是安卓端需要开启相关的权限,你可以在文末附上的那篇文章里找到相关的解决方法)
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.Socket;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et=(EditText)findViewById(R.id.et);