【问题标题】:PlainSocketImpl.write hangs on writing to many socketsPlainSocketImpl.write 在写入许多套接字时挂起
【发布时间】:2013-04-23 11:07:24
【问题描述】:

我有一个线程将相同的 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中的错误吗?是并发问题还是网络问题? 任何想法都会很棒。

【问题讨论】:

    标签: java android sockets concurrency


    【解决方案1】:

    阅读器读得很慢,所以它的接收缓冲区填满了,所以你的发送缓冲区填满了,所以你阻塞了。

    【讨论】:

      猜你喜欢
      • 2019-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多