PlainSocketImpl.write在写入许多套接字时挂起

时间:2013-04-23 11:07:24

标签: java android sockets concurrency

我有一个线程将相同的40K字节数组写入16个套接字(在套接字数组上迭代,每个套接字都发送整个字节数组)。 这每100毫秒循环重复一次 发件人是android nexus 7设备,接收器是windows 7。

大约30秒后,其中一位作家继续说道:

Posix.sendtoBytes(FileDescriptor, Object, int, int, int, InetAddress, int) line: not available [native method]  
Posix.sendto(FileDescriptor, byte[], int, int, int, InetAddress, int) line: 146 
BlockGuardOs.sendto(FileDescriptor, byte[], int, int, int, InetAddress, int) line: 177  
IoBridge.sendto(FileDescriptor, byte[], int, int, int, InetAddress, int) line: 473  
PlainSocketImpl.write(byte[], int, int) line: 507   
PlainSocketImpl.access$100(PlainSocketImpl, byte[], int, int) line: 46  
PlainSocketImpl$PlainSocketOutputStream.write(byte[], int, int) line: 269

这可能是android中的错误吗?是并发问题还是网络问题? 任何想法都会很棒。

1 个答案:

答案 0 :(得分:0)

读取器读取速度慢,因此其接收缓冲区已满,因此您的发送缓冲区已填满,因此您将阻止。