索尼Xperia Z:SocketTimeoutException仅索尼Xperia Z(4.4.2)

时间:2014-08-19 10:13:29

标签: android sockets audio sony sony-xperia

此问题仅发生在Sony Xperia Z(4.4.2)

我正在使用一个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手机。

我试图解决问题:::

  1. 将socket.setSoTimeout(5000)增加到20000。
  2. 删除socket.setSoTimeout(5000);代码解决问题。
  3. 将ServerSocket端口格式“123420”更改为“123440”。
  4. 例外记录。

    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)
    

0 个答案:

没有答案