本文整理汇总了Java中org.apache.mina.transport.socket.nio.SocketSessionConfig类的典型用法代码示例。如果您正苦于以下问题:Java SocketSessionConfig类的具体用法?Java SocketSessionConfig怎么用?Java SocketSessionConfig使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SocketSessionConfig类属于org.apache.mina.transport.socket.nio包,在下文中一共展示了SocketSessionConfig类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: configureSocketSessionConfig
import org.apache.mina.transport.socket.nio.SocketSessionConfig; //导入依赖的package包/类
private void configureSocketSessionConfig(SocketSessionConfig config) {
if (keepAlive != null) {
config.setKeepAlive(keepAlive);
}
if (sendBufferSize != null) {
config.setSendBufferSize(sendBufferSize);
}
if (recvBufferSize != null) {
config.setReceiveBufferSize(recvBufferSize);
}
if (tcpNoDelay != null) {
config.setTcpNoDelay(tcpNoDelay);
}
if (reuseAddress != null) {
config.setReuseAddress(reuseAddress);
}
}
开发者ID:betfair,项目名称:cougar,代码行数:21,代码来源:NioConfig.java
示例2: accept
import org.apache.mina.transport.socket.nio.SocketSessionConfig; //导入依赖的package包/类
public void accept(final NetworkTransportConfiguration config, final ProtocolEngineFactory factory,
final SSLContextFactory sslFactory)
{
int processors = config.getConnectorProcessors();
if (Transport.TCP.equalsIgnoreCase(config.getTransport()))
{
_acceptor = new SocketAcceptor(processors, new NewThreadExecutor());
SocketAcceptorConfig sconfig = (SocketAcceptorConfig) _acceptor.getDefaultConfig();
sconfig.setThreadModel(ExecutorThreadModel.getInstance("MinaNetworkTransport(Acceptor)"));
SocketSessionConfig sc = (SocketSessionConfig) sconfig.getSessionConfig();
sc.setTcpNoDelay(config.getTcpNoDelay());
sc.setSendBufferSize(config.getSendBufferSize());
sc.setReceiveBufferSize(config.getReceiveBufferSize());
if (config.getHost().equals(WILDCARD_ADDRESS))
{
_address = new InetSocketAddress(config.getPort());
}
else
{
_address = new InetSocketAddress(config.getHost(), config.getPort());
}
}
else
{
throw new TransportException("Unknown transport: " + config.getTransport());
}
try
{
_acceptor.bind(_address, new MinaNetworkHandler(sslFactory, factory));
}
catch (IOException e)
{
throw new TransportException("Could not bind to " + _address, e);
}
}
开发者ID:wso2,项目名称:andes,代码行数:40,代码来源:MinaNetworkTransport.java
示例3: enableTcpNoDelay
import org.apache.mina.transport.socket.nio.SocketSessionConfig; //导入依赖的package包/类
/**
* Set TCP no-delay flag for socket connections.
*
* @param session The IO session.
* @param noDelay The new setting for TCP_NODELAY.
*
* @return true if the setting could be changed.
*/
public static boolean enableTcpNoDelay (IoSession session, boolean noDelay)
{
if (session.getConfig () instanceof SocketSessionConfig)
{
((SocketSessionConfig)session.getConfig ()).setTcpNoDelay (noDelay);
return true;
} else
{
return false;
}
}
开发者ID:luv,项目名称:avis_zmqprx,代码行数:21,代码来源:Net.java
示例4: connect
import org.apache.mina.transport.socket.nio.SocketSessionConfig; //导入依赖的package包/类
public NetworkConnection connect(Receiver<java.nio.ByteBuffer> receiver, ConnectionSettings settings, SSLContextFactory sslFactory)
{
final IoConnector ioConnector = _ioConnectorFactory.newConnector();
final SocketAddress address;
final String protocol = settings.getProtocol();
final int port = settings.getPort();
if (Transport.TCP.equalsIgnoreCase(protocol))
{
address = new InetSocketAddress(settings.getHost(), port);
}
else
{
throw new TransportException("Unknown transport: " + protocol);
}
LOGGER.debug("Attempting connection to " + address);
if (ioConnector instanceof SocketConnector)
{
SocketConnectorConfig cfg = (SocketConnectorConfig) ioConnector.getDefaultConfig();
cfg.setThreadModel(ExecutorThreadModel.getInstance("MinaNetworkTransport(Client)"));
SocketSessionConfig scfg = (SocketSessionConfig) cfg.getSessionConfig();
scfg.setTcpNoDelay(true);
scfg.setSendBufferSize(CLIENT_DEFAULT_BUFFER_SIZE);
scfg.setReceiveBufferSize(CLIENT_DEFAULT_BUFFER_SIZE);
// Don't have the connector's worker thread wait around for other
// connections (we only use one SocketConnector per connection
// at the moment anyway). This allows short-running
// clients (like unit tests) to complete quickly.
((SocketConnector) ioConnector).setWorkerTimeout(0);
}
if (settings.isUseSSL()){
try {
SSLContext sslContext = SSLUtil.createSSLContext(settings);
SSLFilter sslFilter = new SSLFilter(sslContext);
sslFilter.setUseClientMode(true);
ioConnector.getFilterChain().addFirst("sslFilter", sslFilter);
} catch (Exception e) {
Exception ex = new Exception("An exception occurred in creating SSLContext: ", e);
ex.printStackTrace();
}
}
ConnectFuture future = ioConnector.connect(address, new MinaNetworkHandler(null), ioConnector.getDefaultConfig());
future.join();
if (!future.isConnected())
{
throw new TransportException("Could not open connection");
}
IoSession session = future.getSession();
session.setAttachment(receiver);
return new MinaNetworkConnection(session);
}
开发者ID:wso2,项目名称:andes,代码行数:59,代码来源:MinaNetworkTransport.java
注:本文中的org.apache.mina.transport.socket.nio.SocketSessionConfig类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论