我正在使用一个Android音频播放器应用。应用程序将音频表单SD卡作为本地服务器读取。
我制作本地服务器,因为这个音频是加密和大尺寸的,所以,如果我尝试一次运行完整的音频文件并解密它然后我需要很长时间运行媒体播放器,为什么我让这个本地服务器读取这个音频文件。
我的本地服务器ServerSocket连接代码。
int SERVER_PORT=35415;
socket = new ServerSocket(SERVER_PORT, 0, InetAddress.getByAddress(new byte[]{127,0,0,1}));
socket.setSoTimeout(5000);
port = socket.getLocalPort();
Socket client = socket.accept(); /// this line give exception Only Sony Xperia Z (4.4.2).
问题是,当我尝试检查套接字是否已打开以阅读音频Steam(socket.accept()),然后每次只在索尼Xperia Z中提供SocketTimeoutException
(4.4。 2)不是其他Android手机。
我试图解决问题:::
例外记录。
08-18 20:18:54.344: E/AudioFileStreamProxy(8594): SocketTimeoutException
08-18 20:18:54.344: E/AudioFileStreamProxy(8594): java.net.SocketTimeoutException
08-18 20:18:54.344: E/AudioFileStreamProxy(8594): at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:108)
08-18 20:18:54.344: E/AudioFileStreamProxy(8594): at java.net.ServerSocket.implAccept(ServerSocket.java:203)
08-18 20:18:54.344: E/AudioFileStreamProxy(8594): at java.net.ServerSocket.accept(ServerSocket.java:128)
08-18 20:18:54.344: E/AudioFileStreamProxy(8594): at com.magnifo.utility.audio.AudioFileStreamProxy.run(AudioFileStreamProxy.java:98)
08-18 20:18:54.344: E/AudioFileStreamProxy(8594): at java.lang.Thread.run(Thread.java:841)
08-18 20:18:54.344: E/AudioFileStreamProxy(8594): Caused by: libcore.io.ErrnoException: accept failed: EAGAIN (Try again)
08-18 20:18:54.344: E/AudioFileStreamProxy(8594): at libcore.io.Posix.accept(Native Method)
08-18 20:18:54.344: E/AudioFileStreamProxy(8594): at libcore.io.BlockGuardOs.accept(BlockGuardOs.java:55)
08-18 20:18:54.344: E/AudioFileStreamProxy(8594): at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:98)