`
pan_java
  • 浏览: 287148 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Mina客户端连接-2

阅读更多
   private NioSocketConnector connector = new NioSocketConnector();


  ConnectFuture future1 = connector.connect(address);


AbstractIoConnector 中 
public final ConnectFuture connect(SocketAddress remoteAddress,
            SocketAddress localAddress, IoSessionInitializer<? extends ConnectFuture> sessionInitializer) 方法

到 AbstractPollingIoConnector

protected final ConnectFuture connect0(
            SocketAddress remoteAddress, SocketAddress localAddress,
            IoSessionInitializer<? extends ConnectFuture> sessionInitializer)

方法

 protected final ConnectFuture connect0(
            SocketAddress remoteAddress, SocketAddress localAddress,
            IoSessionInitializer<? extends ConnectFuture> sessionInitializer) {
        H handle = null;
        boolean success = false;
        try {
            //获取管道
            handle = newHandle(localAddress);
            //建立连接
            if (connect(handle, remoteAddress)) {
                ConnectFuture future = new DefaultConnectFuture();
                T session = newSession(processor, handle);
                initSession(session, future, sessionInitializer);
                // Forward the remaining process to the IoProcessor.
                session.getProcessor().add(session);
                success = true;
                return future;
            }

            success = true;
        } catch (Exception e) {
            return DefaultConnectFuture.newFailedFuture(e);
        } finally {
            if (!success && handle != null) {
                try {
                    close(handle);
                } catch (Exception e) {
                    ExceptionMonitor.getInstance().exceptionCaught(e);
                }
            }
        }

        ConnectionRequest request = new ConnectionRequest(handle, sessionInitializer);
        connectQueue.add(request);
        //建立连接
        startupWorker();
        wakeup();

        return request;
    }


startupWorker 中 启动一个 Connector 连接 服务器
分享到:
评论

相关推荐

    mina-core-2.0.0-RC1.jar,mina-filter-compression-2.0.0-RC1.jar

    4. **会话(Session)**: 会话对象代表了客户端与服务器之间的连接状态,包含了与特定连接相关的所有信息。 **MINA Filter Compression (mina-filter-compression-2.0.0-RC1.jar)** 这个组件是MINA提供的压缩过滤...

    mina客户端简单代码示例

    标题中的"mina客户端简单代码示例"意味着我们将探讨如何使用Mina框架编写一个基础的客户端程序,该程序能够连接到服务器并发送数据。描述指出,运行这个客户端程序(minaTestClient)会展示一个窗口,用户可以通过...

    mina-core-2.0.0-M1.jar和slf4j

    mina-core-2.0.0-M1.jar是Apache Mina项目的核心库,它是一个高度可扩展的网络通信框架,主要用于构建高性能、高效率的服务端和客户端应用程序。Mina提供了一种统一的API,可以处理多种传输协议,如TCP/IP、UDP/IP...

    Apache-Mina-2.rar_apache mina_java mina_mina_mina-core-1.1.3

    标题中的"Apache-Mina-2.rar"和"mina-mina-core-1.1.3"表明这是关于Apache Mina 2.x版本,特别是其核心模块的1.1.3版本。 Apache Mina的名称来源于"Multi-purpose Infrastructure for Network Applications",它...

    mina-http-2.0.7.jar.zip_mina_mina 获取POST_mina-http_mina-http-2.0

    MINA的核心组件包括Acceptor(监听客户端连接)、Session(网络连接的抽象)、Filter(数据过滤和处理)和Handler(业务逻辑处理)等。 2. MINA HTTP模块: "mina-http-2.0.7.jar"是MINA框架的一个扩展,专门用于...

    apache-mina-2.0.7-bin.tar

    Apache Mina是一个高性能、异步事件驱动的网络应用程序框架,主要用在开发网络通信应用,如TCP/IP和UDP/IP协议的服务器和客户端。标题中的"apache-mina-2.0.7-bin.tar"指的是Apache Mina 2.0.7版本的二进制发布包,...

    MINA-2.0.0-M3

    2. **Session(会话)**:表示与客户端的一个连接,管理着与特定连接相关的所有读写操作。 3. **Filter Chain(过滤器链)**:MINA使用了类似Servlet的过滤器模式,允许开发者插入自定义的处理逻辑,数据在网络中...

    MINA-2.0.0-M4 英文版

    MINA(Multipurpose Infrastructure for Network Applications)是一个高性能、异步事件驱动的网络应用程序框架,用于构建高并发、高性能的服务器端和客户端应用。这个框架主要针对TCP和UDP协议,但也可以支持其他I/...

    mina-core-2.0.0-RC1

    2. **mina-core-2.0.0-RC1-sources.jar**:这个文件包含了mina-core的源代码,对于开发者来说,它是理解和定制MINA行为的关键资源。通过阅读源码,开发者可以更深入地了解MINA的工作原理,调试问题,甚至为MINA贡献...

    mina连接 mina心跳连接 mina断线重连

    在Mina中,连接是指客户端与服务端之间建立的通信链路。它支持多种传输协议,如TCP/IP(Socket)、UDP(Datagram)等。Mina提供了一种事件驱动的模型,通过IoSession接口来管理连接,包括读写数据、添加监听器、关闭...

    mina 长连接 客户端+服务端

    在这个"mina 长连接 客户端+服务端"的示例中,我们将探讨如何使用Mina实现长连接以及收发消息的功能。 长连接是网络通信中的一种模式,与短连接相对。短连接在每次通信后都会关闭连接,而长连接则保持连接状态,...

    mina客户端服务器简易Demo

    《mina客户端服务器简易Demo详解》 Apache Mina(Minimum Asynchronous Network)是一个开源的网络通信框架,它为Java开发者提供了一种简单而高效的方式来构建高性能、高可用性的网络应用程序,如TCP/IP和UDP/IP...

    MINA 2.0.0-M6

    MINA(Multipurpose Infrastructure for Network Applications)是一个高性能、跨平台的网络应用程序框架,主要用于开发网络服务器和客户端应用。MINA提供了高级的网络通信抽象层,简化了开发人员处理低级别I/O操作...

    mina-core-2.0.1.jar,apache-mina-2.0.1

    1. **IoSession**:MINA 中的核心概念,它代表了服务端与客户端之间的一个连接。IoSession 存储了连接状态,包括读写事件、缓冲区、过滤器链等信息。 2. **FilterChain**:MINA 使用过滤器链模型来处理网络通信中的...

    apache-mina-2.0.2-bin.tar.gz

    - **Session**:Mina中的会话对象代表了客户端与服务器之间的连接。会话管理着连接的状态,包括读写事件、属性和生命周期。 - **Protocol Handlers**:处理特定协议(如TCP、UDP、HTTP等)的处理器,它们负责将...

    Mina客户端示例

    总之,Mina客户端示例展示了如何利用Mina进行高效的网络通信,其核心在于编码器和解码器的设计,以及如何通过IoConnector和IoHandler来管理网络连接和数据交换。通过学习这个示例,开发者可以更好地理解和应用Mina...

    mina-core-2.0.0-M1

    2. **事件驱动模型**:MINA 采用事件驱动的编程模型,当网络事件(如连接建立、数据接收、连接关闭等)发生时,会触发相应的处理器或监听器,简化了网络编程。 3. **协议无关性**:MINA 提供了与具体传输协议无关的...

    Mina开发之客户端

    在Mina客户端开发中,我们主要涉及以下几个关键组件: 1. **Session**: 代表与服务器的连接,它是Mina的核心概念,用于管理与服务器的通信状态,包括读写操作、会话属性等。 2. **Filter Chain**: 过滤器链是Mina...

    网络编程(socket、NIO、mina)---demo

    在服务端,无论是Socket、NIO还是Mina,都需要创建监听套接字来接收客户端连接,并为每个连接创建一个新的套接字或通道。而在客户端,需要建立到服务器的连接,发送和接收数据。 总结来说,这个"网络编程(socket、...

    Mina客户端服务器Demo

    1. 如何配置和启动Mina服务器,监听和处理客户端连接。 2. 如何在客户端创建连接,并发送和接收数据。 3. 理解Mina的过滤器机制,以及如何编写自定义过滤器。 4. 实践数据编码和解码的过程,理解ProtocolCodec的使用...

Global site tag (gtag.js) - Google Analytics