1 回答
TA贡献1788条经验 获得超4个赞
您必须在清单中拥有互联网权限
<uses-permission android:name="android.permission.INTERNET"/>
您必须在不同的线程中运行网络相关任务(而不是在主线程中)
您的代码将如下所示:
btnAction.setOnClickListener(new View.OnClickListener() {
@override
public void onClick(View v) {
new Thread("thread_udp"){
public void run(){
try {
String messageStr = "test!";
int server_port = 1111;
DatagramSocket s = new DatagramSocket();
InetAddress local = InetAddress.getByName("My.Public.Server.IP");
int msg_length = messageStr.length();
byte[] message = messageStr.getBytes();
DatagramPacket p = new DatagramPacket(message, msg_length, local,server_port);
s.send(p);
} catch (Exception e) {
e.printStackTrace()
}
}
}.start()
}
}
添加回答
举报