PacketHandler:74-在mrniko/netty-socket.io上处理数据时出错?

PacketHandler:74-在mrniko/netty-socket.io上处理数据时出错?,netty,socket.io,Netty,Socket.io,我正在使用socket.io(java端的mrniko/netty-socket.io服务器和客户端的socket.io.js)问题是,当我从客户端向服务器发送json对象时,在接收并显示数据后,它会给出错误“数据处理过程中出错”,而它的字符串数据则很好(即发送和接收)。知道我做错了什么吗?? 下面是代码(服务器端) 这是我发送数据的客户端代码 var socket = io.connect('http://www.example.com:9090', { 'reconnection dela

我正在使用socket.io(java端的mrniko/netty-socket.io服务器和客户端的socket.io.js)问题是,当我从客户端向服务器发送json对象时,在接收并显示数据后,它会给出错误“数据处理过程中出错”,而它的字符串数据则很好(即发送和接收)。知道我做错了什么吗?? 下面是代码(服务器端)

这是我发送数据的客户端代码

var socket = io.connect('http://www.example.com:9090', 
{
'reconnection delay' : 2000,
'force new connection' : true
}); 
var data1 = {
user : document.getElementById('t1').value,
pass : document.getElementById('p1').value
};
socket.send(JSON.stringify(data));
我也试过了

socket.json.send(JSON.stringify(data));
它的发送和显示在服务器端,但当我在任何其他函数中传递它以进行进一步操作时,它会给出错误“数据处理期间出错”。 我正在使用的语法分析

JsonReader reader = new JsonReader(new StringReader(data));
JsonObject json = new JsonParser().parse(reader).getAsJsonObject();
System.out.println(json.get("value1").toString());
如果我做错了,请告诉我?

你检查过项目了吗?它在“聊天示例”中使用json消息

至于你的情况。在客户端上,请尝试以下操作:

var socket = io.connect('http://www.example.com:9090', 
{
   'reconnection delay' : 2000,
   'force new connection' : true
}); 
var data1 = {
    user : document.getElementById('t1').value,
    pass : document.getElementById('p1').value
};
socket.send(data); // you don't need to use JSON.stringify
在服务器端: //LoginObj应该有“用户”和“通过”字段

server.addJsonObjectListener(LoginObj.class,newDataListener()){
@凌驾
public void onData(SocketIOClient客户端、LoginObj数据、AckRequest-AckRequest){
data.getUser();
data.getPass();
}
});
var socket = io.connect('http://www.example.com:9090', 
{
   'reconnection delay' : 2000,
   'force new connection' : true
}); 
var data1 = {
    user : document.getElementById('t1').value,
    pass : document.getElementById('p1').value
};
socket.send(data); // you don't need to use JSON.stringify
    server.addJsonObjectListener(LoginObj.class, new DataListener<LoginObj>() {
          @Override
          public void onData(SocketIOClient client, LoginObj data, AckRequest ackRequest) {
             data.getUser();
             data.getPass();
        }
    });