Tôi đang sử dụng đoạn mã sau để gửi DatagramPacket
đến một địa chỉ nhất định:Gửi DatagramPacket không có kết nối internet - Android
InetAddress address = InetAddress.getByName(anIPAddress);
DatagramSocket socket = new DatagramSocket();
DatagramPacket packet = new DatagramPacket(packetBytes, packetBytes.length,
address, port);
socket.send(packet);
socket.close();
Nó hoạt động tốt, nhưng làm thế nào đến mã này không ném bất kỳ Exception
khi không có kết nối internet có sẵn?
Tôi tắt cả Wi-Fi và dữ liệu di động và mã này vẫn được thực thi mà không có bất kỳ lỗi nào.
Có cách nào để đảm bảo rằng gói thực sự được gửi không?
(tôi không quan tâm nếu nó đạt đến đích hay không, tôi chỉ muốn chắc chắn rằng nó được gửi)
Gói dữ liệu có thể được gửi qua máy chủ cục bộ. Vì vậy, một kết nối Internet là không cần thiết để gửi các gói Datagram. – Sedrick
Kiểm tra điều này. http://www.java2s.com/Code/Java/Network-Protocol/UseDatagramSockettosendoutandreceiveDatagramPacket.htm – Sedrick
tạo hai chương trình java. Một chatclient và một charserver và xem chúng giao tiếp. – Sedrick