服务端我用mina做好了,但是客户端我用mina的方式去发送,那么服务端收到的数据就是一个对象:代码如下
/**
 * 发送消息
 * @param mes
 */
public  void sendInfo(String mes){
if(session!=null){
session.write(mes.getBytes());
}
}session 是有值的,能发送。这样发送,那么服务端收到的message值就是:[B@439fe720
下面是服务端接受方法
@Override
public void messageReceived(IoSession session, Object message) {
 try {
                    String theMessage = (String) message;下面是不用mina的方式发送,用比较直接的方式发送:try {
 if(SocketActivity.socket==null){
SocketActivity.socket = new Socket(SocketActivity.ADDRESS, 9420);

OutputStream os =  SocketActivity.socket.getOutputStream();
   PrintStream ps = new PrintStream(os,true,SocketActivity.ecoding);
   String  str=new  JSONStringer().object()
   .key("id").value(SocketActivity.MY_ID)
   .key("fid").value(-11).endObject().toString();
   ps.println(str);
   ps.flush();
// 监听消息
while (true) {
InputStream   is =SocketActivity. socket.getInputStream();
BufferedReader  reader = new BufferedReader(new InputStreamReader(is,SocketActivity.ecoding));
 String txt=reader.readLine();
 if(txt==null){
 continue;
 }
 SocketActivity.NOW_INFOS=txt;
  //更新页面上的信息SocketActivity.updateInfoHandler.post(SocketActivity.UPDATELIST_RUNNABLE);
}
} catch (Exception e) {
e.printStackTrace();
}  
str的值大概是这样的:"{'id':'11111','fid':'22222'}"  这样发送的方式,到了服务端,也是这样的,但是如果把这个消息再次转发,那么 String txt=reader.readLine(); 这一句得到的就是[B@439fe720 这样的结果,不知道这个消息在mina框架内部是怎么封装的, 希望哪位知道怎么处理这个消息的朋友,解释下..另外客户端不知道到底用mina的方式发送,还是直接发送的方式比较好,求解释...分不多,希望大家帮帮忙.....