【问题标题】:DatagramChannel receive may not return SocketAddressDatagramChannel 接收可能不会返回 SocketAddress
【发布时间】:2018-05-02 22:15:44
【问题描述】:

根据Javadoc for DatagramChannel的receive方法:

public abstract SocketAddress receive(ByteBuffer dst)
                           throws IOException

如果 DatagramChannel 处于非阻塞模式,则可能返回 null。除了更改为阻塞模式之外,还有其他方法可以确保我获得所读取数据的 SocketAddress 吗?

【问题讨论】:

    标签: java nio datagram


    【解决方案1】:

    如果 DatagramChannel 处于非阻塞模式,则可能返回 null。

    Read on.

    如果此通道处于非阻塞模式并且没有立即可用的数据报,则返回 ...null

    如果返回 null,则表示没有读取数据。情况对应SocketChannel.read()返回零。

    【讨论】:

    • 好的,所以没有 SocketAddress 就无法接收数据,我不确定。
    猜你喜欢
    • 2011-10-10
    • 1970-01-01
    • 2014-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-20
    相关资源
    最近更新 更多