public final class NioDatagramChannel extends AbstractNioMessageChannel implements DatagramChannel
Channel
发送和接收的AddressedEnvelope
。
AddressedEnvelope
, DatagramPacket
AbstractNioChannel.AbstractNioUnsafe, AbstractNioChannel.NioUnsafe
AbstractChannel.AbstractUnsafe
Channel.Unsafe
readInterestOp
Constructor and Description |
---|
NioDatagramChannel()
创建一个将使用操作系统默认值 InternetProtocolFamily 的新实例。
|
NioDatagramChannel(java.nio.channels.DatagramChannel socket)
从给定的
DatagramChannel 创建一个新实例。
|
NioDatagramChannel(InternetProtocolFamily ipFamily)
使用给定的 InternetProtocolFamily 创建一个新实例。
|
NioDatagramChannel(java.nio.channels.spi.SelectorProvider provider)
使用给定的 SelectorProvider 创建一个新实例,该实例将使用操作系统默认值InternetProtocolFamily 。
|
NioDatagramChannel(java.nio.channels.spi.SelectorProvider provider, InternetProtocolFamily ipFamily)
使用给定的 SelectorProvider 和InternetProtocolFamily 创建一个新实例。
|
Modifier and Type | Method and Description |
---|---|
ChannelFuture |
block(java.net.InetAddress multicastAddress, java.net.InetAddress sourceToBlock)
阻止给定多播地址的给定sourceToBlock地址
|
ChannelFuture |
block(java.net.InetAddress multicastAddress, java.net.InetAddress sourceToBlock, ChannelPromise promise)
阻止给定多播地址的给定sourceToBlock地址
|
ChannelFuture |
block(java.net.InetAddress multicastAddress, java.net.NetworkInterface networkInterface, java.net.InetAddress sourceToBlock)
阻止给定networkInterface上给定多播地址的给定sourceToBlock地址
|
ChannelFuture |
block(java.net.InetAddress multicastAddress, java.net.NetworkInterface networkInterface, java.net.InetAddress sourceToBlock, ChannelPromise promise)
阻止给定networkInterface上给定多播地址的给定sourceToBlock地址
|
protected boolean |
closeOnReadError(java.lang.Throwable cause) |
DatagramChannelConfig |
config()
返回此频道的配置。
|
protected boolean |
continueOnWriteError()
如果我们应该在写入错误时继续写入循环,则返回
true 。
|
protected void |
doBind(java.net.SocketAddress localAddress)
将 Channel 绑定到SocketAddress
|
protected void |
doClose()
关闭 Channel
|
protected boolean |
doConnect(java.net.SocketAddress remoteAddress, java.net.SocketAddress localAddress)
连接到远程对等
|
protected void |
doDisconnect()
断开此 Channel 与其远程对等端的连接
|
protected void |
doFinishConnect()
完成连接
|
protected int |
doReadMessages(java.util.List<java.lang.Object> buf)
将消息读入给定数组并返回读取的数量。
|
protected boolean |
doWriteMessage(java.lang.Object msg, ChannelOutboundBuffer in)
写下消息到底层
Channel 。
|
protected java.lang.Object |
filterOutboundMessage(java.lang.Object msg)
当新消息添加到此 AbstractChannel 的ChannelOutboundBuffer 中时调用 ,以便Channel 实现将消息转换为另一个消息。
|
boolean |
isActive()
如果 Channel 处于活动状态且已连接,则返回true 。
|
boolean |
isConnected()
如果 DatagramChannel 连接到远程对等端,则返回true 。
|
protected java.nio.channels.DatagramChannel |
javaChannel() |
ChannelFuture |
joinGroup(java.net.InetAddress multicastAddress)
加入一个多播组,并在操作完成后通知 ChannelFuture 。
|
ChannelFuture |
joinGroup(java.net.InetAddress multicastAddress, ChannelPromise promise)
一旦操作完成,就加入多播组并通知 ChannelFuture 。
|
ChannelFuture |
joinGroup(java.net.InetAddress multicastAddress, java.net.NetworkInterface networkInterface, java.net.InetAddress source)
在指定的接口加入指定的组播组,并在操作完成后通知 ChannelFuture 。
|
ChannelFuture |
joinGroup(java.net.InetAddress multicastAddress, java.net.NetworkInterface networkInterface, java.net.InetAddress source, ChannelPromise promise)
在指定的接口加入指定的组播组,并在操作完成后通知 ChannelFuture 。
|
ChannelFuture |
joinGroup(java.net.InetSocketAddress multicastAddress, java.net.NetworkInterface networkInterface)
在指定的接口加入指定的组播组,并在操作完成后通知 ChannelFuture 。
|
ChannelFuture |
joinGroup(java.net.InetSocketAddress multicastAddress, java.net.NetworkInterface networkInterface, ChannelPromise promise)
在指定的接口加入指定的组播组,并在操作完成后通知 ChannelFuture 。
|
ChannelFuture |
leaveGroup(java.net.InetAddress multicastAddress)
一个操作完成后,离开多播组并通知 ChannelFuture 。
|
ChannelFuture |
leaveGroup(java.net.InetAddress multicastAddress, ChannelPromise promise)
一旦操作完成,就离开多播组并通知 ChannelFuture 。
|
ChannelFuture |
leaveGroup(java.net.InetAddress multicastAddress, java.net.NetworkInterface networkInterface, java.net.InetAddress source)
在指定的接口上使用指定的源保留指定的多播组,并在操作完成后通知 ChannelFuture 。
|
ChannelFuture |
leaveGroup(java.net.InetAddress multicastAddress, java.net.NetworkInterface networkInterface, java.net.InetAddress source, ChannelPromise promise)
在指定的接口上使用指定的源保留指定的多播组,并在操作完成后通知 ChannelFuture 。
|
ChannelFuture |
leaveGroup(java.net.InetSocketAddress multicastAddress, java.net.NetworkInterface networkInterface)
在指定的本地接口上留下多播组,并在操作完成后通知 ChannelFuture 。
|
ChannelFuture |
leaveGroup(java.net.InetSocketAddress multicastAddress, java.net.NetworkInterface networkInterface, ChannelPromise promise)
在指定的本地接口上留下多播组,并在操作完成后通知 ChannelFuture 。
|
java.net.InetSocketAddress |
localAddress()
返回此通道绑定的本地地址。
|
protected java.net.SocketAddress |
localAddress0()
返回本地绑定的
SocketAddress 。
|
ChannelMetadata |
metadata()
返回 ChannelMetadata 的的Channel 其描述的性质Channel 。
|
java.net.InetSocketAddress |
remoteAddress()
返回此通道连接到的远程地址。
|
protected java.net.SocketAddress |
remoteAddress0()
返回 SocketAddress 其中Channel 被连接到。
|
protected void |
setReadPending(boolean readPending)
已过时。
|
doBeginRead, doWrite, newUnsafe
clearReadPending, doDeregister, doRegister, eventLoop, isCompatible, isOpen, isReadPending, newDirectBuffer, newDirectBuffer, selectionKey, unsafe
alloc, bind, bind, bytesBeforeUnwritable, bytesBeforeWritable, close, close, closeFuture, compareTo, connect, connect, connect, connect, deregister, deregister, disconnect, disconnect, doShutdownOutput, equals, flush, hashCode, id, invalidateLocalAddress, invalidateRemoteAddress, isRegistered, isWritable, newChannelPipeline, newFailedFuture, newId, newProgressivePromise, newPromise, newSucceededFuture, parent, pipeline, read, toString, voidPromise, write, write, writeAndFlush, writeAndFlush
attr, hasAttr
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
alloc, bytesBeforeUnwritable, bytesBeforeWritable, closeFuture, eventLoop, flush, id, isOpen, isRegistered, isWritable, parent, pipeline, read, unsafe
attr, hasAttr
bind, bind, close, close, connect, connect, connect, connect, deregister, deregister, disconnect, disconnect, newFailedFuture, newProgressivePromise, newPromise, newSucceededFuture, voidPromise, write, write, writeAndFlush, writeAndFlush
public NioDatagramChannel()
InternetProtocolFamily
的新实例。
public NioDatagramChannel(java.nio.channels.spi.SelectorProvider provider)
SelectorProvider
创建一个新实例,该实例将使用操作系统默认值InternetProtocolFamily
。
public NioDatagramChannel(InternetProtocolFamily ipFamily)
InternetProtocolFamily
创建一个新实例。
如果使用null
,则取决于将要选择的操作系统默认值。
public NioDatagramChannel(java.nio.channels.spi.SelectorProvider provider, InternetProtocolFamily ipFamily)
SelectorProvider
和InternetProtocolFamily
创建一个新实例。
如果InternetProtocolFamily
是null
它将取决于将选择的操作系统默认值。
public NioDatagramChannel(java.nio.channels.DatagramChannel socket)
DatagramChannel
创建一个新实例。
public ChannelMetadata metadata()
Channel
复制的描述
ChannelMetadata
的的Channel
其描述的性质Channel
。
public DatagramChannelConfig config()
Channel
config
在界面
Channel
config
在界面
DatagramChannel
public boolean isConnected()
DatagramChannel
DatagramChannel
连接到远程对等端,则返回true
。
isConnected
在界面
DatagramChannel
protected java.nio.channels.DatagramChannel javaChannel()
javaChannel
在课堂上
AbstractNioChannel
protected java.net.SocketAddress localAddress0()
AbstractChannel
SocketAddress
。
localAddress0
在课堂
AbstractChannel
protected java.net.SocketAddress remoteAddress0()
AbstractChannel
SocketAddress
连接的SocketAddress 。
remoteAddress0
在课堂上
AbstractChannel
protected void doBind(java.net.SocketAddress localAddress) throws java.lang.Exception
AbstractChannel
Channel
绑定到SocketAddress
doBind
在课堂
AbstractChannel
java.lang.Exception
protected boolean doConnect(java.net.SocketAddress remoteAddress, java.net.SocketAddress localAddress) throws java.lang.Exception
AbstractNioChannel
doConnect
的
AbstractNioChannel
java.lang.Exception
protected void doFinishConnect() throws java.lang.Exception
AbstractNioChannel
doFinishConnect
在课堂上
AbstractNioChannel
java.lang.Exception
protected void doDisconnect() throws java.lang.Exception
AbstractChannel
Channel
与其远程对等端的连接
doDisconnect
在课堂上
AbstractChannel
java.lang.Exception
protected void doClose() throws java.lang.Exception
AbstractChannel
Channel
doClose
在课堂上
AbstractNioChannel
java.lang.Exception
protected int doReadMessages(java.util.List<java.lang.Object> buf) throws java.lang.Exception
AbstractNioMessageChannel
doReadMessages
在课堂
AbstractNioMessageChannel
java.lang.Exception
protected boolean doWriteMessage(java.lang.Object msg, ChannelOutboundBuffer in) throws java.lang.Exception
AbstractNioMessageChannel
Channel
写一条消息。
doWriteMessage
在课堂上
AbstractNioMessageChannel
true
当且仅当消息已被写入
java.lang.Exception
protected java.lang.Object filterOutboundMessage(java.lang.Object msg)
AbstractChannel
ChannelOutboundBuffer
如此AbstractChannel
,使Channel
实施消息转换为另一种。
(例如堆缓冲区 - >直接缓冲区)
protected boolean continueOnWriteError()
AbstractNioMessageChannel
true
。
public java.net.InetSocketAddress localAddress()
Channel
复制的描述
SocketAddress
应该被下调为更具体的类型,例如InetSocketAddress
以检索详细信息。
localAddress
在界面
Channel
localAddress
在界面
DatagramChannel
localAddress
在课堂
AbstractChannel
null
如果此通道未绑定。
public java.net.InetSocketAddress remoteAddress()
Channel
复制的描述
SocketAddress
应该被下调为更具体的类型,例如InetSocketAddress
以检索详细信息。
remoteAddress
在界面
Channel
remoteAddress
在界面
DatagramChannel
remoteAddress
在课堂上
AbstractChannel
null
如果此通道未连接。
如果此通道未连接,但它可以接收来自任意远程地址的消息(例如DatagramChannel
,请使用DefaultAddressedEnvelope.recipient()
来确定接收消息的来源,因为此方法将返回null
。
public ChannelFuture joinGroup(java.net.InetAddress multicastAddress)
DatagramChannel
ChannelFuture
。
joinGroup
,界面
DatagramChannel
public ChannelFuture joinGroup(java.net.InetAddress multicastAddress, ChannelPromise promise)
DatagramChannel
ChannelFuture
。
给定的ChannelFuture
将被通知并且返回。
joinGroup
在界面
DatagramChannel
public ChannelFuture joinGroup(java.net.InetSocketAddress multicastAddress, java.net.NetworkInterface networkInterface)
DatagramChannel
复制的描述
ChannelFuture
。
joinGroup
在界面
DatagramChannel
public ChannelFuture joinGroup(java.net.InetSocketAddress multicastAddress, java.net.NetworkInterface networkInterface, ChannelPromise promise)
DatagramChannel
复制的描述
ChannelFuture
。
给定的ChannelFuture
将被通知并且返回。
joinGroup
在界面
DatagramChannel
public ChannelFuture joinGroup(java.net.InetAddress multicastAddress, java.net.NetworkInterface networkInterface, java.net.InetAddress source)
DatagramChannel
ChannelFuture
。
joinGroup
在界面
DatagramChannel
public ChannelFuture joinGroup(java.net.InetAddress multicastAddress, java.net.NetworkInterface networkInterface, java.net.InetAddress source, ChannelPromise promise)
DatagramChannel
复制的描述
ChannelFuture
。
给定的ChannelFuture
将被通知并返回。
joinGroup
在界面
DatagramChannel
public ChannelFuture leaveGroup(java.net.InetAddress multicastAddress)
DatagramChannel
ChannelFuture
。
leaveGroup
在界面
DatagramChannel
public ChannelFuture leaveGroup(java.net.InetAddress multicastAddress, ChannelPromise promise)
DatagramChannel
ChannelFuture
。
给定的ChannelFuture
将被通知并返回。
leaveGroup
在界面
DatagramChannel
public ChannelFuture leaveGroup(java.net.InetSocketAddress multicastAddress, java.net.NetworkInterface networkInterface)
DatagramChannel
复制的描述
ChannelFuture
。
leaveGroup
在界面
DatagramChannel
public ChannelFuture leaveGroup(java.net.InetSocketAddress multicastAddress, java.net.NetworkInterface networkInterface, ChannelPromise promise)
DatagramChannel
复制的描述
ChannelFuture
。
给定的ChannelFuture
将被通知并且返回。
leaveGroup
在界面
DatagramChannel
public ChannelFuture leaveGroup(java.net.InetAddress multicastAddress, java.net.NetworkInterface networkInterface, java.net.InetAddress source)
DatagramChannel
复制的描述
ChannelFuture
。
leaveGroup
在界面
DatagramChannel
public ChannelFuture leaveGroup(java.net.InetAddress multicastAddress, java.net.NetworkInterface networkInterface, java.net.InetAddress source, ChannelPromise promise)
DatagramChannel
ChannelFuture
。
给定的ChannelFuture
将被通知并且返回。
leaveGroup
在界面
DatagramChannel
public ChannelFuture block(java.net.InetAddress multicastAddress, java.net.NetworkInterface networkInterface, java.net.InetAddress sourceToBlock)
block
在界面
DatagramChannel
public ChannelFuture block(java.net.InetAddress multicastAddress, java.net.NetworkInterface networkInterface, java.net.InetAddress sourceToBlock, ChannelPromise promise)
block
在界面
DatagramChannel
public ChannelFuture block(java.net.InetAddress multicastAddress, java.net.InetAddress sourceToBlock)
block
在界面
DatagramChannel
public ChannelFuture block(java.net.InetAddress multicastAddress, java.net.InetAddress sourceToBlock, ChannelPromise promise)
block
在界面
DatagramChannel
@Deprecated protected void setReadPending(boolean readPending)
setReadPending
在课堂
AbstractNioChannel
protected boolean closeOnReadError(java.lang.Throwable cause)
Copyright © 2008–2018 The Netty Project. All rights reserved.