Tôi có thể gửi dữ liệu của mình qua ổ cắm UDP đúng cách, nhưng khi tôi nhận dữ liệu, nó vẫn tiếp tục chờ lệnh nhận được, tôi không biết điều gì đang gây ra lỗi này . tại mã của tôi bên dướiGửi và nhận dữ liệu trên Ổ cắm UDP java android
Tôi có thể thu thập dữ liệu đúng cách ở phía máy chủ từ thiết bị Android, nhưng khi tôi gửi dữ liệu từ phía máy chủ đến thiết bị Android, nó không nhận được. nhưng khi tôi gửi dữ liệu từ máy chủ đến bất kỳ ứng dụng client ví dụ như máy tính khác, nó tiếp nhận và hiển thị dữ liệu rpoperly
class Task implements Runnable {
@Override
public void run() {
try {
String messageStr = "feed";
int server_port = 8888;
InetAddress local = InetAddress.getByName("10.0.2.2");
int msg_length = messageStr.length();
byte[] message = messageStr.getBytes();
DatagramSocket s = new DatagramSocket();
//
DatagramPacket p = new DatagramPacket(message, msg_length, local, server_port);
s.send(p);//properly able to send data. i receive data to server
for (int i = 0; i <= 20; i++) {
final int value = i;
message = new byte[30000];
p = new DatagramPacket(message,message.length);
s.receive(p); //keeps on waiting here but i am sending data back from server, but it never receives
final byte[] data = p.getData();;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
handler.post(new Runnable() {
@Override
public void run() {
progressBar.setProgress(value);
imageView.setImageBitmap(BitmapFactory.decodeByteArray(data,0,data.length));
}
});
}
}
catch(Exception ex)
{
}
}
}
Tôi biết đây là một chút cũ bây giờ, nhưng bạn đã bao giờ hình này ra? Bị mắc kẹt trên cùng một vấn đề như bạn. Tôi đang nhận dữ liệu đến máy chủ nhưng khi tôi gửi lại không có gì .. – patrickdamery
hãy thử giảm kích thước dữ liệu cho mỗi lần gửi trong trường hợp UDP, điều này đã giải quyết được vấn đề cho tôi. – user2539602
Tôi đã tìm ra sau một lúc, nhưng kích thước dữ liệu phải giống nhau ở cả đầu gửi và nhận nếu không bạn có thể bị âm thanh bị nhòe – patrickdamery