场景:服务端开了两个SOCKET服务,分别对应两种客户端,假定分别无客户端A,客户端B。客户端A是短连接,发完消息得到反馈就结束,客户端B登陆上服务端之后就一直保持长连接。需求是:A发消息之后,进行业务处理,然后将处理的结果要发给客户端B。
目前考虑建立一起全局的ConcurrentHashMap,将客户端B的长连接中的IoSession放入ConcurrentHashMap中,客户端A处理完成之后,找到ConcurrentHashMap中的IoSession,然后调用write(msg)方法。
//sessionCurHashMap为全局变量,是一个ConcurrentHashMap
IoSession sendSession = (IoSession) sessionCurHashMap.get("key");
WriteFuture future = sendSession.write("转发数据"); // 发送数据
future.awaitUninterruptibly(); // 等待发送数据操作完成
if(future.isWritten())
{
// 数据已经被成功发送
System.out.println("数据已经被成功发送");
}
else
{
// 数据发送失败
System.out.println("数据发送失败");
}
分享到:
相关推荐
Mina中转服务,简单来说,就是利用Mina框架构建的一种网络服务,能够处理客户端的请求并转发到相应的服务端,起到数据传输的桥梁作用。这种服务通常用于构建高并发、低延迟的网络应用,尤其是在需要进行大量数据交换...
MINA提供了一种抽象层,使得开发者可以专注于业务逻辑,而不是底层的网络通信细节。这个“mina文档说明书”包含了MINA框架的详细信息,帮助开发者理解和使用它。 MINA的核心概念包括: 1. **Session**:在MINA中,...
2. **Filter Chain**:Mina的Filter Chain模式允许我们定义一系列处理请求的过滤器,每个过滤器都可以对数据进行处理或转发。这使得我们可以按照需要定制服务器的行为,比如添加身份验证、日志记录、数据编码解码等...
在IT行业中,串口通信是一种常见且重要的通信方式,尤其在设备间的数据交换和嵌入式系统中。SpringBoot是一个轻量级的Java框架,它简化了开发过程,而Mina则是一个网络通信应用框架,支持多种通信协议,包括串口通信...
基于MINA框架的语音转发服务端是解决这一问题的一种方案。MINA(Multi-purpose Infrastructure for Network Applications)是一个高性能、异步的网络应用程序框架,主要用Java语言编写,适用于开发各种网络应用,如...
Java NIO(New Input/Output)是Java标准库中提供的一种I/O模型,与传统的BIO(Blocking I/O)模型相比,NIO具有更高的并发性能和更有效的资源管理能力。NIO的核心组件包括通道(Channels)、缓冲区(Buffers)和...
SSH2(Secure Shell 2)是一种网络协议,用于在不安全的网络上提供安全的远程登录和其他服务。在Java开发中,SSH2框架通常指的是Apache MINA或JSch等库,它们实现了SSH2协议,允许开发者创建支持SSH的Java应用程序。...
SSH(Secure Shell)是一种网络协议,用于在不安全的网络上提供安全的远程登录和其他服务。在Java开发中,SSH通常指的是Spring、Struts和Hibernate这三大框架的组合,它们是构建企业级Web应用程序的常用工具。然而,...
SSH2(Secure Shell 2)是一种网络协议,用于在不安全的网络环境中提供安全的远程登录和其他服务。在Java开发中,SSH2通常指的是使用Spring、Struts和Hibernate这三个框架的组合,它们分别是用于控制层、表现层和...
**XMPP(Extensible Messaging and Presence Protocol)**,即可扩展消息与呈现协议,是一种开放标准协议,用于即时通讯(Instant Messaging, IM)。该协议的主要特点在于使用XML(可扩展标记语言)作为消息格式的...
3. **JSON数据格式**:JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也方便机器解析和生成。在即时聊天系统中,JSON被用来结构化消息数据,如用户ID、消息文本、时间戳等...
SSH2(Secure Shell 2)是一种网络协议,用于在不安全的网络上提供安全的远程登录和其他服务。在这个小案例中,我们将探讨如何在Java环境中整合SSH2库,以实现远程服务器的自动化管理任务,如文件传输、命令执行等。...
Apache Camel 是一个强大的轻量级集成框架,它提供了一种模型化的方式来进行企业级应用程序集成。这个框架允许开发者使用各种企业集成模式(EIPs)来构建复杂的路由和消息处理逻辑。以下是一些基于Camel的示例说明,...
- **XMPP**(Extensible Messaging and Presence Protocol)是一种基于XML的即时通信协议。该协议的主要特点是使用XML作为消息格式,使得消息能够携带丰富的信息并易于扩展。 - **即时通信(IM)**:指诸如QQ、MSN ...
在IT领域,基于Java开发的邮件服务器是一种常见的技术实践,用于处理电子邮件的接收与发送。本文将深入探讨Java实现邮件服务器的关键技术和相关知识点。 首先,JavaMail API是Java平台上的核心库,它允许开发者在...
SSH,全称Secure Shell,是一种网络协议,用于在不安全的网络环境中提供安全的远程登录和其他服务。在Java开发中,SSH通常指的是Spring、Struts和Hibernate这三个开源框架的组合,它们分别是应用层、表现层和持久层...
Netty支持基于流的传输,这是网络通信中的一种常见模式,特别是涉及到需要保证数据完整性传输时,比如文件传输。指南中会介绍如何处理流式数据,并保证数据在传输过程中的完整性和正确性。 Netty用户指南还会介绍...
Java开源实时消息推送系统是一种基于Java技术构建的高效、可靠且可扩展的解决方案,用于在互联网应用程序中实现实时通信。这种系统通常采用发布/订阅模型,允许服务器将消息广播到多个客户端,确保数据的即时传输。...
- **DWR (Direct Web Remoting)**:提供一种简单的方式让JavaScript可以直接调用Java方法。 - 通过 `org.directwebremoting.util.ServerContextFacade` 获取当前的HTTP Session。 #### 第九层:架构设计招式辨析 *...