欢迎使用CSDN-markdown编辑器

来源:互联网 发布:cross over软件下载 编辑:程序博客网 时间:2024/06/17 03:40
                                          WebSocket的JSON的传输//发送消息  function send(){          var message = document.getElementById('text').value;     var testJson = '{ "name": "小强", "age": 16 }';     websocket.send(testJson);  }在前端先配置好WEBSOCKET的各项配置。详情请参考http://www.alixixi.com/web/a/2014032492868.shtml.函数send()是当网页刷新时候触发。注意建立的json是var类型,在js中并没有相应的json对象,所以 采用var类型,发送到配置好的java后台文件。我这里是@OnMessagepublic void onMessage(@PathParam("username") String username,String message){    System.out.println(session.getId()+"sss");    System.out.println("来自客户端的消息:" + message);    /*JSONObject json = new JSONObject();    json.put("name", "dainan");    json.put("address","nanjing");*/    JSONObject json = JSONObject.fromObject(message);    System.out.print(json.get("name"));        try {            SessionUtils.clients.get("taojuanmei").getBasicRemote().sendText(json.toString());        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }   /* //群发消息    for(MyWebSocket item: webSocketSet){                     try {            item.sendMessage(message);        } catch (IOException e) {            e.printStackTrace();            continue;        }    }*/}

onMessage()函数是后台接收数据的地方,就是后台接收json(var)类型,讲这个类型转化为json格式,采用函数JSONObject.fromObject()。再发送的时候千万注意,session虽然有发送对象的函数,但是它并不可以发送json对象,所以在发送json对象时候采用发送json.toString()。将json变成String类型发送。
//接收到消息的回调方法
websocket.onmessage = function(){

      testJson = eval("(" + event.data + ")");      setMessageInnerHTML(testJson.name);  };

此时websocket.onmessage 是接收我们发送的JSON.toString().由于是String类型,所以采用eval函数将它变成JSON类型,进行操作。

0 0