`
- 浏览:
436463 次
- 性别:
- 来自:
苏州
-
MINA中IoBuffer、byte[]、String之间转换
-
-
-
-
-
public static String byteToString(byte [] b)
- {
-
StringBuffer stringBuffer = new StringBuffer();
-
for (int i = 0; i < b.length; i++)
- {
-
stringBuffer.append((char) b [i]);
- }
-
return stringBuffer.toString();
- }
-
-
-
-
-
-
public static IoBuffer stringToIoBuffer(String str)
- {
-
-
byte bt[] = str.getBytes();
-
- IoBuffer ioBuffer = IoBuffer.allocate(bt.length);
-
ioBuffer.put(bt, 0, bt.length);
- ioBuffer.flip();
-
return ioBuffer;
- }
-
-
-
-
-
public static IoBuffer byteToIoBuffer(byte [] bt,int length)
- {
-
- IoBuffer ioBuffer = IoBuffer.allocate(length);
-
ioBuffer.put(bt, 0, length);
- ioBuffer.flip();
-
return ioBuffer;
- }
-
-
-
-
-
public static byte [] ioBufferToByte(Object message)
- {
-
if (!(message instanceof IoBuffer))
- {
-
return null;
- }
- IoBuffer ioBuffer = (IoBuffer)message;
-
byte[] b = new byte[ioBuffer.limit()];
- ioBuffer.get(b);
-
return b;
- }
-
-
-
-
-
public static String ioBufferToString(Object message)
- {
-
if (!(message instanceof IoBuffer))
- {
-
return "";
- }
- IoBuffer ioBuffer = (IoBuffer) message;
-
byte[] b = new byte [ioBuffer.limit()];
- ioBuffer.get(b);
-
StringBuffer stringBuffer = new StringBuffer();
-
-
for (int i = 0; i < b.length; i++)
- {
-
-
stringBuffer.append((char) b [i]);
- }
-
return stringBuffer.toString();
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
org.apache.mina.core.buffer.IoBuffer mina core 包
最近做rfid读写,C#和java都用udp不用厂家的动态库,udp自己写也简单,但是试了一下Apache mina ,接收的不是string,二十byte[] 数组,简单实现了UDP,网上也有例子,但是不是我要的。可用。
在Mina中,我们可以利用BufferedIoFilter或者IoBuffer来传输文件,包括图片。首先,我们需要将图片文件读取到内存中的IoBuffer,然后通过过滤器链传递给远程客户端。在这个过程中,可以实现数据压缩、加密等额外...
4. **Session接口**:在MINA中,Session代表了服务器与客户端之间的连接。它包含了与特定连接相关的状态信息,并提供了读写数据的方法。 5. **Handler接口**:Handler是用户自定义的业务逻辑组件,MINA会调用...
- **IoBuffer详解**:IoBuffer是Mina用于高效内存管理的数据结构,本章节详细讲解了其内部机制和使用方法。 #### Chapter 9 - 编解码器过滤器 - **编解码器**:介绍如何使用Mina提供的编解码器过滤器对网络数据...
1. 缓冲区管理:Mina使用IoBuffer作为数据缓冲区,允许开发者对数据的读写进行精细控制。通过设置合适的缓冲区大小和正确地读写数据,可以有效防止数据丢失或交错。 2. 自定义编码解码器:Mina支持用户自定义编码器...
在mina框架中,编解码器(Codec)扮演着至关重要的角色,它负责将应用层的数据转换为网络传输的字节流,以及将接收到的字节流还原为应用程序可以理解的对象。对于初学者来说,理解和编写自定义的编解码器可能会遇到...
Chapter 10 - IoBuffer Chapter 11 - Codec Filter Chapter 12 - Executor Filter Chapter 13 - SSL Filter Chapter 14 - Logging Filter Part III - MINA Advanced Chapter 15 - Debugging Chapter 16 - State...
public Object decode(IoBuffer in) throws Exception { int length = in.getInt(); if (in.getRemaining() ) { // 没有足够的数据,等待更多数据到达 return null; } byte[] data = new byte[length]; in....
4. **缓冲区管理**:Mina使用IoBuffer作为缓冲区对象,可以方便地进行读写操作,支持字节和对象之间的转换。 5. **性能优化**:Mina提供了池化的缓冲区和连接管理机制,以及心跳检测和空闲策略,以优化网络通信性能...
- IoBuffer 是 Mina 中用于数据存储和传输的核心类,它是对 Java NIO ByteBuffer 的封装和增强。 - **IoBuffer vs ByteBuffer**: IoBuffer 提供了更多便于操作的功能,比如自动扩容、直接内存分配等特性,使得数据...
它可能还会涉及如何配置和使用MINA的各种组件,如Buffer、Filters、Protocols等,帮助开发者更好地理解和应用MINA到实际项目中。 最后,`Apache_Mina_Server_2.0中文参考手册V1.0.pdf` 是MINA服务器端的中文参考...
在Mina中,编码器(Encoder)是处理数据序列化的重要组件,它负责将对象转换为字节流以便在网络中传输。本项目是关于如何自定义编码器来实现会话累积功能的实践。 首先,我们需要理解Mina中的编码器接口`org.apache...
4. **Buffer**:MINA 提供了 ByteBuffer 和 IoBuffer 两种缓冲区,用于在网络通信中高效地读写数据。 **MINA 2.0.1 版本特点:** 1. **性能优化**:在 2.0.1 版本中,MINA 进行了多方面的性能提升,包括更快的数据...
例如,如果你有一个自定义的消息类`MyMessage`,你可以创建一个`MyMessageEncoder`,重写`encode()`方法,将`MyMessage`对象转换为`IoBuffer`。编码器的目的是确保数据在网络中传输时保持正确格式。 ```java public...
- **Buffer**:MINA使用IoBuffer作为缓冲区,它提供了高效的读写操作,并且支持自动扩容和预读写。 - **Filter**:过滤器是MINA中的关键组件,它们可以链式调用,用于数据的预处理和后处理,如压缩、加密、身份...
* IoBuffer 是 MINA 中的一个核心组件,负责管理 I/O 缓存。 * IoBuffer 提供了一个灵活的架构,使得开发者可以轻松地构建高性能的 I/O 操作。 Chapter 9 - 编解码器过滤器 本章节介绍了 编解码器过滤器 的基本概念...
Mina和Socket是两种常见的网络通信框架和技术,它们在Java编程环境中被广泛使用。本篇文章将深入探讨如何使用Mina与Socket实现通信,并提供客户端和服务端的实现代码概述。 Mina(全称“MINA: Minimalistic ...
NIO(Non-Blocking I/O)是 Java 1.4 中引入的 API,允许非阻塞 IO 操作。NIO 的主要特点是能够提供非阻塞的 IO 操作,提高了系统的性能和效率。NIO 的主要组件包括Buffers、Chartsets、Channels、Selectors 和 ...
MINA提供了 IoBuffer 类,用于高效地存储和操作网络数据。你可以将数据写入Buffer,然后通过Session的write方法发送出去;接收数据时,MINA会自动将接收到的数据填充到Buffer中,供你读取。 在“MINA TCP简单通信...