|
|||||||||
| 上一个类 下一个类 | 框架 无框架 | ||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | ||||||||
java.lang.Objectorg.jboss.netty.bootstrap.Bootstrap
org.jboss.netty.bootstrap.ConnectionlessBootstrap
public class ConnectionlessBootstrap

一个为无连接传输创建新的服务端Channel的帮助类.
ServerBootstrap代替.
对于面向连接的传输如TCP/IP和接受传入连接并接受子通道接受消息的本地传输,千万不要使用该帮助类.
Options 方法配置一个 channel:
要了解更详细的有效属性,请参阅ConnectionlessBootstrapb = ...; // Options for a new channel b.setOption("localAddress", newInetSocketAddress(8080)); b.setOption("tcpNoDelay", true); b.setOption("receiveBufferSize", 1048576);
ChannelConfig 及其子类.
ChannelPipeline,你可以通过两个方式设置.
一个推荐的方式是通过调用Bootstrap.setPipelineFactory(ChannelPipelineFactory)方法 .
ConnectionlessBootstrapb = ...; b.setPipelineFactory(new MyPipelineFactory()); public class MyPipelineFactory implementsChannelPipelineFactory{ publicChannelPipelinegetPipeline() throws Exception { // Create and configure a new pipeline for a new channel.ChannelPipelinep =Channels.pipeline(); p.addLast("encoder", new EncodingHandler()); p.addLast("decoder", new DecodingHandler()); p.addLast("logic", new LogicHandler()); return p; } }
另外一个方法只有在特定的情况使用,是使用默认的pipeline并且让bootstrap使用使用浅拷贝为每个新的channel设置::
请注意这里的'浅拷贝'的意思仅仅是把ConnectionlessBootstrapb = ...;ChannelPipelinep = b.getPipeline(); // Add handlers to the default pipeline. p.addLast("encoder", new EncodingHandler()); p.addLast("decoder", new DecodingHandler()); p.addLast("logic", new LogicHandler());
ChannelHandler的引用添加到新的管道上,而不是克隆
ChannelHandler. 因此,你不能使用该方法在一个接受进入连接去创建子通道的服务器上打开多于一个的Channel.
Channel应用不同的设置ClientBootstrap仅仅是个帮助类. 他不分配和管理任何资源.管理资源是使用ClientBootstrap
在构造方法指定的ChannelFactory类进行管理.因此,你可以在不同的ClientBootstrap实例上使用相同的
ChannelFactory为不同的Channel应该不同的设置.
| 构造方法摘要 | |
|---|---|
ConnectionlessBootstrap()
创建一个没有 ChannelFactory设置的实例. |
|
ConnectionlessBootstrap(ChannelFactory channelFactory)
使用指定的 ChannelFactory创建一个实例. |
|
| 方法摘要 | |
|---|---|
Channel |
bind()
使用当前 "localAddress"属性设置绑定的本地地址创建一个channel. |
Channel |
bind(java.net.SocketAddress localAddress)
创建一个绑定到指定的本地地址的channel. |
ChannelFuture |
connect()
使用当前的 "remoteAddress"属性和"localAddress"属性创建一个已经连接的channel. |
ChannelFuture |
connect(java.net.SocketAddress remoteAddress)
使用指定的 remoteAddress 属性和当前的 "localAddress"属性尝试一个新的连接. |
ChannelFuture |
connect(java.net.SocketAddress remoteAddress,
java.net.SocketAddress localAddress)
使用指定的 remoteAddress属性和指定的localAddress属性尝试一个连接.如果
"localAddress" 属性没有设置 ,新通道的本地地址会自动检测. |
| 从类 org.jboss.netty.bootstrap.Bootstrap 继承的方法 |
|---|
getFactory, getOption, getOptions, getPipeline, getPipelineAsMap, getPipelineFactory, releaseExternalResources, setFactory, setOption, setOptions, setPipeline, setPipelineAsMap, setPipelineFactory |
| 从类 java.lang.Object 继承的方法 |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 构造方法详细信息 |
|---|
public ConnectionlessBootstrap()
ChannelFactory设置的实例. Bootstrap.setFactory(ChannelFactory)方法
必须在任何I/O操作请求前被调用.
public ConnectionlessBootstrap(ChannelFactory channelFactory)
ChannelFactory创建一个实例.
| 方法详细信息 |
|---|
public Channel bind()
"localAddress"属性设置绑定的本地地址创建一个channel. 该方法和以下代码很相似:
ConnectionlessBootstrap b = ...;
b.bind(b.getOption("localAddress"));
java.lang.IllegalStateException - 如果 "localAddress" 属性没有设置则抛出异常
java.lang.ClassCastException - 如果 "localAddress" 属性的值既不是SocketAddress也不是
null时抛出异常
ChannelException - 如果创建新的channel并绑定到本地地址失败时抛出异常public Channel bind(java.net.SocketAddress localAddress)
ChannelException - 如果创建新的channel并绑定到本地地址失败时抛出异常public ChannelFuture connect()
"remoteAddress"属性和"localAddress"属性创建一个已经连接的channel.
如果 "localAddress" 属性没有设置,新通道的本地地址会自动检测. 该方法和以下代码很相似:
ConnectionlessBootstrap b = ...;
b.connect(b.getOption("remoteAddress"), b.getOption("localAddress"));
java.lang.IllegalStateException - 如果 "remoteAddress" 属性没有设置则抛出异常
java.lang.ClassCastException - 如果 "remoteAddress" 属性或者 "localAddress"
属性的值既不是SocketAddress也不是null时抛出异常
ChannelPipelineException - 如果这个启动类的 pipelineFactory 方法创建一个ChannelPipeline失败时抛出异常public ChannelFuture connect(java.net.SocketAddress remoteAddress)
remoteAddress 属性和当前的 "localAddress"属性尝试一个新的连接. 如果
"localAddress" 属性没有设置 ,新通道的本地地址会自动检测. 该方法与下面代码完全相同:
ConnectionlessBootstrap b = ...;
b.connect(remoteAddress, b.getOption("localAddress"));
java.lang.ClassCastException - 如果 "remoteAddress" 属性或者 "localAddress"
属性的值既不是SocketAddress也不是null时抛出异常
ChannelPipelineException - 如果这个启动类的 pipelineFactory 方法创建一个ChannelPipeline失败时抛出异常
public ChannelFuture connect(java.net.SocketAddress remoteAddress,
java.net.SocketAddress localAddress)
remoteAddress属性和指定的localAddress属性尝试一个连接.如果
"localAddress" 属性没有设置 ,新通道的本地地址会自动检测.
ChannelPipelineException - 如果这个启动类的 pipelineFactory 方法创建一个ChannelPipeline失败时抛出异常
|
|||||||||
| 上一个类 下一个类 | 框架 无框架 | ||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | ||||||||