日期:2014-05-16  浏览次数:20448 次

NODEJS用SOCKET发送JSON数据里面包含SOCKET对象报错

 socketUserJsonInfo={//登录用户数据
        socketId:nowSocket.id,
    socket:socket,
userName:userData.userName,
password:userData.password,
userOrg:userData.userOrg
  };

socket.emit("login",{isSuccess:true,userName:userJsonInfo.userName,userOrg:userJsonInfo.userOrg,userJsonInfo:socketUserJsonInfo})

这样发送会报错,为什么呢?把JSON数据里面的socket对象去除掉就可以了.
socket JSON nodejs JavaScript

------解决方案--------------------

 socketUserJsonInfo={//登录用户数据
        socketId:nowSocket.id,
        socket: JSON.stringify(socket),
        userName:userData.userName,
        password:userData.password,
        userOrg:userData.userOrg
  };

------解决方案--------------------
可能是socket的prototype引用了自身,无限循环了,socket是不能被序列化的吧?
------解决方案--------------------
报的错误发出来看下
基本就知道了