socket.io客户端和服务器socket.id不同

我有套接字服务器和客户端socket.id的问题。 使用node@5.6.0socket@1.4.6我得到不同的socket.id从客户端( socket.io-client )和服务器( socket )不知道这是否预计在最新版本? 不同之处在于,服务器端socket.id具有/#IAPEFvUDQkfV0NxcAAAA而客户端socket.id具有IAPEFvUDQkfV0NxcAAAA ,就像我使用socket@1.3.1我从客户端和服务器获得相同的socket.id。

这是版本…

 admin$ npm list | grep socket ├─┬ socket.io@1.4.6 │ ├─┬ socket.io-adapter@0.4.0 │ │ └─┬ socket.io-parser@2.2.2 │ ├─┬ socket.io-client@1.4.6 │ └─┬ socket.io-parser@2.2.6 ├─┬ socket.io-client@1.3.1 │ ├─┬ socket.io-parser@2.2.2 ├─┬ socket.io-stream@0.6.1 admin$ npm --version 3.6.0 admin$ node --version v5.6.0 admin$ 

这是服务器的test_socket_server代码

 # test_socket_server.js var io = require('socket.io').listen(5000); var serverurl = "http://0.0.0.0:5000/"; io.sockets.on('connection', function (socket) { var socketid = socket.id console.log('serversocketid', socketid) socket.on('get_socketid_from_client', function(clientsocketid) { console.log('get_socketid_from_client-clientsocketid', clientsocketid) io.to(clientsocketid).emit('test_emit_on_clientsocketid') io.to('/#'+clientsocketid).emit('test_emit_on_clientsocketid_modified') socket.emit('test_emit_on_serversocketid') }) }); 

这是客户端的test_socket_client代码

 # test_socket_client.js var io_client = require('socket.io/node_modules/socket.io-client') var serverurl = "http://0.0.0.0:5000/"; var options = { transports: ['websocket'], 'force new connection': true }; var socket = io_client.connect(serverurl, options); socket.on("connect", function () { console.log('clientsocketid', socket.id); socket.emit('get_socketid_from_client', socket.id, function(data) { console.log('get_socketid_from_client', data) }); }); socket.on("test_emit_on_clientsocketid", function () { console.log('test_emit_on_clientsocketid successful') }); socket.on("test_emit_on_clientsocketid_modified", function () { console.log('test_emit_on_clientsocketid_modified successful') }); socket.on("test_emit_on_serversocketid", function () { console.log('test_emit_on_serversocketid successful') }); 

这是结果

 # Server side $ node test_socket_server.js serversocketid /#IAPEFvUDQkfV0NxcAAAA get_socketid_from_client-clientsocketid IAPEFvUDQkfV0NxcAAAA $ # Client side $ node test_socket_client.js clientsocketid IAPEFvUDQkfV0NxcAAAA test_emit_on_clientsocketid_modified successful test_emit_on_serversocketid successful $ 

我知道我迟到了,但似乎这是在前几天发布的最新版本中修复的。

版本1.5.0的发行说明中的第一个项目说,当没有名称空间时,它们在id之前停止追加/#