//定义发送数据报的地址
private static final int PORT = 30001;
private static final String IP = "192.168.3.29";
//每一个数据报的最大大小为4k
private static final int DATA_LEN = 4096;
//该客户端使用的datagramSocket
private DatagramSocket socket = null;
//定义网络接收的字节数组
private byte[] inBuff = new byte[DATA_LEN];
//定义以指定字节数组创建准备接收的datagramPacket
private DatagramPacket receive = new DatagramPacket(inBuff,inBuff.length);
//定义用于发送消息的DatagramPacket对象
private DatagramPacket send;
try{
//创建DatagramSocket客户端,使用随机端口
socket = new DatagramSocket();
//初始化发送用的DatagramSocket,它包含数组长度为0
send = new DatagramPacket(new byte[0],0,InetAddress.getByName(IP),PORT);
String scan=text_user.getText().toString();
//转化为字节数组
byte[] buff = scan.getBytes();
//设置发送用的DatagramPacket字节数组
send.setData(buff);
socket.send(send);
//读取socket中的数据,读取的数据放在receive的字节数组中
socket.receive(receive);
//System.out.println(new String(inBuff,0,receive.getLength()));
Toast.makeText(EventActivity.this,"success", 2000).show();
}finally{
if(socket != null)
{
socket.close();
}
}
直接闪退,什么原因