mina iobuffer格式数据转化为String

来源:互联网 发布:微信三级分销系统源码 编辑:程序博客网 时间:2024/04/30 14:59
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;@Overridepublic void sessionCreated(IoSession session) {// 显示客户端的ip和端口System.out.println("client connect**"+session.getRemoteAddress().toString());}@Overridepublic 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();//调用定位函数 结果写进当前sessionIoBuffer iobuf = IoBuffer.allocate(20);iobuf.order(ByteOrder.LITTLE_ENDIAN);iobuf.put(byteArray);String str1 = ioBufferToString(iobuf);session.write(str1);}@Overridepublic 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当前位置,并将当前位置设置成0byte[] 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();}}


0 0
原创粉丝点击