当前位置: 首页>>代码示例>>Java>>正文


Java SocketSessionConfig类代码示例

本文整理汇总了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;未经允许,请勿转载。