刚刚写了一个UDP通讯的类,
public class EasyUDPClient {
public int udpRemotePort;
public String S_ip;
public DatagramSocket socket;
private InetAddress serverAddress;
public EasyUDPClient(String ServerIP,int Port)
{
udpRemotePort = Port;
S_ip = ServerIP;
try {
socket = new DatagramSocket(udpRemotePort);
} catch (SocketException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
public void Send(String msg)
{
try {
System.out.println(S_ip);
System.out.printf("%d",udpRemotePort);
serverAddress = InetAddress.getByName(S_ip);
// byte data[] = msg.getBytes(msg);
byte data[] = msg.getBytes();
DatagramPacket packet = new DatagramPacket(data, data.length ,serverAddress ,udpRemotePort);
socket.send(packet);//把数据发送到服务端。
socket.close();
} catch (SocketException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
System.out.println("cacacacac");
} catch (UnknownHostException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
System.out.println("11111");
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
System.out.println("2222");
}
}
}
在ACTIVITY中的 BUTTON事件 执行 Send() 通讯正常
在Fragment中的 BUTTON事件 执行 Send() 程序闪退 求解