java - DatagramChannel 接收可能不会返回 SocketAddress

标签 java nio datagram

根据 DatagramChannel 的 Javadoc,接收方法:

public abstract SocketAddress receive(ByteBuffer dst)
                           throws IOException

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

最佳答案

may return null if the DatagramChannel is in non-blocking mode.

Read on .

Returns ... null if this channel is in non-blocking mode and no datagram was immediately available.

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

关于java - DatagramChannel 接收可能不会返回 SocketAddress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50144331/

相关文章:

java - 这里不需要方法引用表达式,编译时错误

java - 包 org.jboss.netty.channel.socket.nio 不存在

从 tcp 到 udp 的 Java 套接字

java - 需要帮助让我的 Java UDP 客户端应用程序正常工作

java - 数据报总是被完整接收吗?

java - 格式化问题: How to power to number?

java - 网络驱动程序目标 ="_blank"

java - 通过 Java API 列出所有可用的索引

java - jar 文件系统中的目录名称与常规文件系统不同

Java WatchKey 多个大文件