final int totalLength = ins.available( ); final byte[ ] readBuffer = new byte[ READ_BUFFER_SIZE ]; final ByteArrayBuffer buffer = new ByteArrayBuffer( totalLength );你为何要用final呢?改成yte[ ] readBuffer = new byte[ READ_BUFFER_SIZE ]; byteArrayBuffer buffer = new ByteArrayBuffer( totalLength ); 你会有惊喜的发现
while ( ( readBytes = ins.read( readBuffer ) ) != -1 )
不是以上代码中标识的位置。
final byte[ ] readBuffer = new byte[ READ_BUFFER_SIZE ];
final ByteArrayBuffer buffer = new ByteArrayBuffer( totalLength );你为何要用final呢?改成yte[ ] readBuffer = new byte[ READ_BUFFER_SIZE ]; byteArrayBuffer buffer = new ByteArrayBuffer( totalLength );
你会有惊喜的发现
这个buffer是不是final无关紧要,只是声明readBuffer不能指向其它的byte array,不影响。
退一步说,如果是这个问题,那怎么解释模拟器上运行可以接收服务器返回数据?
这个buffer是不是final无关紧要,只是声明readBuffer不能指向其它的byte array,不影响。
退一步说,如果是这个问题,那怎么解释模拟器上运行可以接收服务器返回数据?我首先想向你确认你的网络是内网吗?服务器和真机是在同一个局域网吗?
这个buffer是不是final无关紧要,只是声明readBuffer不能指向其它的byte array,不影响。
退一步说,如果是这个问题,那怎么解释模拟器上运行可以接收服务器返回数据?我首先想向你确认你的网络是内网吗?服务器和真机是在同一个局域网吗?
我确定网络没有问题,手机是通过随身wifi共享PC的网络连接,PC端模拟器测试没有上述问题。