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 连接 服务器
分享到:
相关推荐
4. **会话(Session)**: 会话对象代表了客户端与服务器之间的连接状态,包含了与特定连接相关的所有信息。 **MINA Filter Compression (mina-filter-compression-2.0.0-RC1.jar)** 这个组件是MINA提供的压缩过滤...
标题中的"mina客户端简单代码示例"意味着我们将探讨如何使用Mina框架编写一个基础的客户端程序,该程序能够连接到服务器并发送数据。描述指出,运行这个客户端程序(minaTestClient)会展示一个窗口,用户可以通过...
mina-core-2.0.0-M1.jar是Apache Mina项目的核心库,它是一个高度可扩展的网络通信框架,主要用于构建高性能、高效率的服务端和客户端应用程序。Mina提供了一种统一的API,可以处理多种传输协议,如TCP/IP、UDP/IP...
标题中的"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的核心组件包括Acceptor(监听客户端连接)、Session(网络连接的抽象)、Filter(数据过滤和处理)和Handler(业务逻辑处理)等。 2. MINA HTTP模块: "mina-http-2.0.7.jar"是MINA框架的一个扩展,专门用于...
Apache Mina是一个高性能、异步事件驱动的网络应用程序框架,主要用在开发网络通信应用,如TCP/IP和UDP/IP协议的服务器和客户端。标题中的"apache-mina-2.0.7-bin.tar"指的是Apache Mina 2.0.7版本的二进制发布包,...
2. **Session(会话)**:表示与客户端的一个连接,管理着与特定连接相关的所有读写操作。 3. **Filter Chain(过滤器链)**:MINA使用了类似Servlet的过滤器模式,允许开发者插入自定义的处理逻辑,数据在网络中...
MINA(Multipurpose Infrastructure for Network Applications)是一个高性能、异步事件驱动的网络应用程序框架,用于构建高并发、高性能的服务器端和客户端应用。这个框架主要针对TCP和UDP协议,但也可以支持其他I/...
2. **mina-core-2.0.0-RC1-sources.jar**:这个文件包含了mina-core的源代码,对于开发者来说,它是理解和定制MINA行为的关键资源。通过阅读源码,开发者可以更深入地了解MINA的工作原理,调试问题,甚至为MINA贡献...
在Mina中,连接是指客户端与服务端之间建立的通信链路。它支持多种传输协议,如TCP/IP(Socket)、UDP(Datagram)等。Mina提供了一种事件驱动的模型,通过IoSession接口来管理连接,包括读写数据、添加监听器、关闭...
在这个"mina 长连接 客户端+服务端"的示例中,我们将探讨如何使用Mina实现长连接以及收发消息的功能。 长连接是网络通信中的一种模式,与短连接相对。短连接在每次通信后都会关闭连接,而长连接则保持连接状态,...
MINA(Multipurpose Infrastructure for Network Applications)是一个高性能、跨平台的网络应用程序框架,主要用于开发网络服务器和客户端应用。MINA提供了高级的网络通信抽象层,简化了开发人员处理低级别I/O操作...
1. **IoSession**:MINA 中的核心概念,它代表了服务端与客户端之间的一个连接。IoSession 存储了连接状态,包括读写事件、缓冲区、过滤器链等信息。 2. **FilterChain**:MINA 使用过滤器链模型来处理网络通信中的...
- **Session**:Mina中的会话对象代表了客户端与服务器之间的连接。会话管理着连接的状态,包括读写事件、属性和生命周期。 - **Protocol Handlers**:处理特定协议(如TCP、UDP、HTTP等)的处理器,它们负责将...
总之,Mina客户端示例展示了如何利用Mina进行高效的网络通信,其核心在于编码器和解码器的设计,以及如何通过IoConnector和IoHandler来管理网络连接和数据交换。通过学习这个示例,开发者可以更好地理解和应用Mina...
2. **事件驱动模型**:MINA 采用事件驱动的编程模型,当网络事件(如连接建立、数据接收、连接关闭等)发生时,会触发相应的处理器或监听器,简化了网络编程。 3. **协议无关性**:MINA 提供了与具体传输协议无关的...
在Mina客户端开发中,我们主要涉及以下几个关键组件: 1. **Session**: 代表与服务器的连接,它是Mina的核心概念,用于管理与服务器的通信状态,包括读写操作、会话属性等。 2. **Filter Chain**: 过滤器链是Mina...
在服务端,无论是Socket、NIO还是Mina,都需要创建监听套接字来接收客户端连接,并为每个连接创建一个新的套接字或通道。而在客户端,需要建立到服务器的连接,发送和接收数据。 总结来说,这个"网络编程(socket、...
1. 如何配置和启动Mina服务器,监听和处理客户端连接。 2. 如何在客户端创建连接,并发送和接收数据。 3. 理解Mina的过滤器机制,以及如何编写自定义过滤器。 4. 实践数据编码和解码的过程,理解ProtocolCodec的使用...
Apache MINA(Multipurpose Infrastructure for Network Applications)是一个高性能、异步事件驱动的网络应用程序框架,主要用于简化开发服务器端和客户端的网络应用。标题"apache-mina-2.0.16"表明我们讨论的是...