udp接受数据
This commit is contained in:
@@ -16,6 +16,10 @@ import android.os.Looper;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
import java.net.DatagramPacket;
|
||||
import java.net.DatagramSocket;
|
||||
import java.net.InetAddress;
|
||||
|
||||
public class Main extends Service {
|
||||
private Handler handler = new Handler(Looper.getMainLooper());
|
||||
private Runnable logRunnable = new Runnable() {
|
||||
@@ -60,6 +64,9 @@ public class Main extends Service {
|
||||
// 启动定时日志任务
|
||||
handler.post(logRunnable);
|
||||
|
||||
// 启动udp接收
|
||||
startUdpReceiver();
|
||||
|
||||
return START_STICKY;
|
||||
}
|
||||
|
||||
@@ -91,4 +98,37 @@ public class Main extends Service {
|
||||
Log.e("PineappleService", "启动服务失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
private DatagramSocket udpSocket;
|
||||
private boolean isRunning = false;
|
||||
private Thread udpReceiveThread;
|
||||
|
||||
private void startUdpReceiver() {
|
||||
Log.i("PineappleService", "启动UDP接收");
|
||||
isRunning = true;
|
||||
udpReceiveThread = new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
// 初始化 UDP Socket,指定端口号
|
||||
udpSocket = new DatagramSocket(8888); // 你可以根据需要修改端口
|
||||
byte[] buffer = new byte[1024];
|
||||
|
||||
while (isRunning) {
|
||||
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
|
||||
udpSocket.receive(packet);
|
||||
|
||||
// 收到数据后处理
|
||||
String receivedData = new String(packet.getData(), 0, packet.getLength());
|
||||
Log.i("PineappleService", "收到UDP数据: " + receivedData);
|
||||
|
||||
// 可以在这里添加处理逻辑,比如发送回执、通知Unity等
|
||||
}
|
||||
} catch (Exception e) {
|
||||
Log.e("PineappleService", "UDP接收错误: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
});
|
||||
udpReceiveThread.start();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user