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
最新推荐文章于 2023-05-05 10:39:15 发布