Trong ứng dụng Android của tôi, tôi muốn đọc luồng âm thanh và phân tích siêu dữ liệu shoutcast của nó. Tôi đã sử dụng StreamProxy như trong dự án NPR: http://code.google.com/p/npr-android-app/source/browse/Npr/src/org/npr/android/news/StreamProxy.java?r=e4984187f45c39a54ea6c88f71197762dbe10e72java.net.SocketException: sendto không thành công: EPIPE (Broken pipe) qua kết nối dữ liệu tới localhost
Vấn đề là nó không hoạt động qua kết nối dữ liệu. NPR cũng gặp vấn đề tương tự.
Để tổng hợp, proxy này đang chạy dưới dạng máy chủ web cục bộ, tạo giao diện giữa ứng dụng và luồng từ xa. Nó đang chạy trên localhost 127.0.0.1 với một cổng tùy chỉnh được tạo ra. Khi máy chủ đang đọc dữ liệu dòng, nó sao chép nó vào ứng dụng như bạn có thể đọc tại dòng 223 trong StreamProxy:
client.getOutputStream().write(buff, 0, readBytes);
Tuy nhiên dòng sản xuất ngoại lệ này qua kết nối dữ liệu:
java.net.SocketException: sendto failed: EPIPE (Broken pipe)
Tôi không phải là chuyên gia về ổ cắm và phát trực tuyến. Tôi không nhận được những gì làm cho một sự khác biệt giữa một wifi và kết nối dữ liệu trong trường hợp đó.
Hi, thậm chí tôi đang sử dụng một kênh proxy để chơi trực tuyến. Nó đang ném lỗi này trên một số thiết bị. Bạn đã tìm thấy bất kỳ giải pháp cho việc này. – vijaykumarg
@ romain-piel Bạn đã bao giờ tìm ra vấn đề ở đây chưa? Tôi gặp vấn đề tương tự nhưng không thể tìm được giải pháp. – Nick
nope: -/đó là một cái rất lạ. Tôi hiện đang sử dụng kết nối song song với luồng.Không lý tưởng nhưng ít nhất nó làm việc trong mọi tình huống –