public class NioSocketChannel extends AbstractNioByteChannel implements SocketChannel
SocketChannel
它使用基于NIO选择器的实现。
AbstractNioByteChannel.NioByteUnsafe
AbstractNioChannel.AbstractNioUnsafe, AbstractNioChannel.NioUnsafe
AbstractChannel.AbstractUnsafe
Channel.Unsafe
readInterestOp
Constructor and Description |
---|
NioSocketChannel()
创建一个新的实例
|
NioSocketChannel(Channel parent, java.nio.channels.SocketChannel socket)
创建一个新的实例
|
NioSocketChannel(java.nio.channels.spi.SelectorProvider provider)
使用给定的
SelectorProvider 创建一个新实例。
|
NioSocketChannel(java.nio.channels.SocketChannel socket)
使用给定的
SocketChannel 创建一个新实例。
|
Modifier and Type | Method and Description |
---|---|
SocketChannelConfig |
config()
返回此频道的配置。
|
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 |
doReadBytes(ByteBuf byteBuf)
将字节读入给定的 ByteBuf 并返回金额。
|
protected void |
doShutdownOutput()
当条件证明关闭通道的输出部分时调用。
|
protected void |
doWrite(ChannelOutboundBuffer in)
将给定缓冲区的内容刷新到远程对等体。
|
protected int |
doWriteBytes(ByteBuf buf)
写字节形成给定的 ByteBuf 到底层的Channel 。
|
protected long |
doWriteFileRegion(FileRegion region)
写一个 FileRegion
|
boolean |
isActive()
如果 Channel 处于活动状态且已连接,则返回true 。
|
boolean |
isInputShutdown()
返回
true 当且仅当远程节点关闭其输出以便从此通道接收不到更多数据时。
|
protected boolean |
isInputShutdown0() |
boolean |
isOutputShutdown() |
boolean |
isShutdown()
确定此通道的输入和输出是否都已关闭。
|
protected java.nio.channels.SocketChannel |
javaChannel() |
java.net.InetSocketAddress |
localAddress()
返回此通道绑定的本地地址。
|
protected java.net.SocketAddress |
localAddress0()
返回本地绑定的
SocketAddress 。
|
protected AbstractNioChannel.AbstractNioUnsafe |
newUnsafe()
创建一个新的 AbstractChannel.AbstractUnsafe 实例,该实例将用于Channel 的生命周期
|
ServerSocketChannel |
parent()
返回此频道的父级。
|
java.net.InetSocketAddress |
remoteAddress()
返回此通道连接到的远程地址。
|
protected java.net.SocketAddress |
remoteAddress0()
返回 SocketAddress 其中Channel 被连接到。
|
ChannelFuture |
shutdown()
将关闭此通道的输入和输出端。
|
ChannelFuture |
shutdown(ChannelPromise promise)
将关闭此通道的输入和输出端。
|
ChannelFuture |
shutdownInput()
关闭通道的输入端。
|
ChannelFuture |
shutdownInput(ChannelPromise promise)
将关闭输入并通知 ChannelPromise 。
|
ChannelFuture |
shutdownOutput() |
ChannelFuture |
shutdownOutput(ChannelPromise promise)
将关闭输出并通知 ChannelPromise 。
|
clearOpWrite, doWrite0, filterOutboundMessage, incompleteWrite, metadata, setOpWrite
clearReadPending, doBeginRead, doDeregister, doRegister, eventLoop, isCompatible, isOpen, isReadPending, newDirectBuffer, newDirectBuffer, selectionKey, setReadPending, unsafe
alloc, bind, bind, bytesBeforeUnwritable, bytesBeforeWritable, close, close, closeFuture, compareTo, connect, connect, connect, connect, deregister, deregister, disconnect, disconnect, equals, flush, hashCode, id, invalidateLocalAddress, invalidateRemoteAddress, isRegistered, isWritable, newChannelPipeline, newFailedFuture, newId, newProgressivePromise, newPromise, newSucceededFuture, 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, metadata, 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 NioSocketChannel()
public NioSocketChannel(java.nio.channels.spi.SelectorProvider provider)
SelectorProvider
创建一个新实例。
public NioSocketChannel(java.nio.channels.SocketChannel socket)
SocketChannel
创建一个新实例。
public ServerSocketChannel parent()
Channel
parent
在界面
Channel
parent
在界面
SocketChannel
parent
在课堂上
AbstractChannel
null
如果此频道没有父频道。
public SocketChannelConfig config()
Channel
config
在界面
Channel
config
在界面
SocketChannel
protected java.nio.channels.SocketChannel javaChannel()
javaChannel
在课堂上
AbstractNioChannel
public boolean isOutputShutdown()
isOutputShutdown
在界面
DuplexChannel
Socket.isOutputShutdown()
public boolean isInputShutdown()
DuplexChannel
true
当且仅当远程节点关闭其输出,以便从此通道接收不到更多数据时。
请注意,此方法的语义不同于Socket.shutdownInput()
和Socket.isInputShutdown()
。
isInputShutdown
在界面
DuplexChannel
public boolean isShutdown()
DuplexChannel
复制的描述
isShutdown
在界面
DuplexChannel
public java.net.InetSocketAddress localAddress()
Channel
复制的描述
SocketAddress
应该被下推到更具体的类型,例如InetSocketAddress
以检索详细信息。
localAddress
在界面
Channel
localAddress
在界面
SocketChannel
localAddress
在课堂上
AbstractChannel
null
如果此通道未绑定。
public java.net.InetSocketAddress remoteAddress()
Channel
复制的描述
SocketAddress
应该被转换为更具体的类型,例如InetSocketAddress
以检索详细信息。
remoteAddress
在界面
Channel
remoteAddress
在界面
SocketChannel
remoteAddress
在课堂上
AbstractChannel
null
如果此通道未连接。
如果此通道未连接,但它可以接收来自任意远程地址的消息(例如DatagramChannel
,请使用DefaultAddressedEnvelope.recipient()
来确定接收消息的来源,因为此方法将返回null
。
@UnstableApi protected final void doShutdownOutput() throws java.lang.Exception
AbstractChannel
doShutdownOutput
在课堂上
AbstractChannel
java.lang.Exception
public ChannelFuture shutdownOutput()
shutdownOutput
在界面
DuplexChannel
Socket.shutdownOutput()
public ChannelFuture shutdownOutput(ChannelPromise promise)
DuplexChannel
ChannelPromise
。
shutdownOutput
在界面
DuplexChannel
Socket.shutdownOutput()
public ChannelFuture shutdownInput()
AbstractNioByteChannel
shutdownInput
在界面
DuplexChannel
shutdownInput
在课堂上
AbstractNioByteChannel
Socket.shutdownInput()
protected boolean isInputShutdown0()
public ChannelFuture shutdownInput(ChannelPromise promise)
DuplexChannel
复制的描述
ChannelPromise
。
shutdownInput
,界面
DuplexChannel
Socket.shutdownInput()
public ChannelFuture shutdown()
DuplexChannel
复制的描述
shutdown
在界面
DuplexChannel
public ChannelFuture shutdown(ChannelPromise promise)
DuplexChannel
shutdown
在界面
DuplexChannel
promise
- 将在关机操作完成时完成。
protected java.net.SocketAddress localAddress0()
AbstractChannel
SocketAddress
。
localAddress0
在课堂上
AbstractChannel
protected java.net.SocketAddress remoteAddress0()
AbstractChannel
SocketAddress
其中Channel
被连接到。
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 doReadBytes(ByteBuf byteBuf) throws java.lang.Exception
AbstractNioByteChannel
ByteBuf
并返回金额。
doReadBytes
在课堂上
AbstractNioByteChannel
java.lang.Exception
protected int doWriteBytes(ByteBuf buf) throws java.lang.Exception
AbstractNioByteChannel
ByteBuf
写入底层的Channel
。
doWriteBytes
在课堂上
AbstractNioByteChannel
buf
- 应写入字节的ByteBuf
java.lang.Exception
protected long doWriteFileRegion(FileRegion region) throws java.lang.Exception
AbstractNioByteChannel
FileRegion
doWriteFileRegion
在课堂上
AbstractNioByteChannel
region
- 应写入字节的FileRegion
java.lang.Exception
protected void doWrite(ChannelOutboundBuffer in) throws java.lang.Exception
AbstractChannel
doWrite
在课堂上
AbstractNioByteChannel
java.lang.Exception
protected AbstractNioChannel.AbstractNioUnsafe newUnsafe()
AbstractChannel
AbstractChannel.AbstractUnsafe
实例,该实例将用于Channel
的生命周期
newUnsafe
在课堂上
AbstractNioByteChannel
Copyright © 2008–2018 The Netty Project. All rights reserved.