为什么在浏览器中未定义socket.id
如果我做console.log(套接字)我得到一个套接字对象在萤火虫。 在obj中,我可以看到一个id
的属性,我可以看到id
的值。 但是当我做console.log(socket.id)我得到未定义。 为什么?
var socket = io(); $(document).ready( function(){ console.log(socket); console.log(socket.id); console.log(socket.ids); $(".click").on("click", function(e){ alert("clicked") socket.emit("clicked", socket.id) $(this).addClass("removeclick"); }) });
PS我可以得到socket.ids
是0,但不是socket.id。
Socket.io需要一些时间来build立连接。 我发现在客户端获得ID的最佳方式是:
socket.on('connect', () => {console.log(socket.id)});
“连接”是连接准备就绪时发出的系统事件。
(我目前的socket.io版本是1.7.2)