package com.yhs.test;
import java.nio.ByteOrder;
import org.apache.mina.core.buffer.IoBuffer;
import org.apache.mina.core.service.IoHandlerAdapter;
import org.apache.mina.core.session.IoSession;
public class ServerHandler extends IoHandlerAdapter {
static int count=1;
public static String str;
@Override
public void sessionCreated(IoSession session) {
// 显示客户端的ip和端口
System.out.println("client connect**"+session.getRemoteAddress().toString());
}
@Override
public void messageReceived(IoSession session, Object message) throws Exception {
str = message.toString();
System.out.println("Message :"+str);
String location = "118|15.174/31.883";
byte[] byteArray = location.getBytes();
//调用定位函数 结果写进当前session
IoBuffer iobuf = IoBuffer.allocate(20);
iobuf.order(ByteOrder.LITTLE_ENDIAN);
iobuf.put(byteArray);
String str1 = ioBufferToString(iobuf);
session.write(str1);
}
@Override
public void messageSent(IoSession session, Object message) {
System.out.println("信息已经传送给客户端");
}
public static String ioBufferToString(IoBuffer iobuffer) {
System.out.println("message = " + iobuffer + iobuffer.limit());
iobuffer.flip(); // 调换buffer当前位置,并将当前位置设置成0
byte[] by = new byte[iobuffer.limit()];
iobuffer.get(by);
StringBuffer stringBuffer = new StringBuffer();
for (int i = 0; i < by.length; i++) {
stringBuffer.append((char) by[i]); // 可以根据需要自己改变类型
}
return stringBuffer.toString();
}
}
mina iobuffer格式数据转化为String
最新推荐文章于 2026-04-17 02:16:32 发布
本文介绍了一个基于Apache Mina框架的服务器处理类ServerHandler的实现细节。该类继承自IoHandlerAdapter,实现了客户端连接创建、消息接收及发送等功能。当接收到客户端消息时,服务器会解析并打印消息内容,然后构造一个位置字符串作为响应,将其转换为字节数组并通过小端序写入IoBuffer中,最后发送给客户端。

483

被折叠的 条评论
为什么被折叠?



