小编ona*_*nar的帖子

SocketIo.use(function(socket,next)) - 接下来的地方,如何捕获或接收它?

我找到了使用socket.IO 1.*width Express 4的例子.这是一个链接

一切都很完美.但是有一个代码:

io.use(function(socket, next) {
try {
    var data = socket.handshake || socket.request;
    if (! data.headers.cookie) {
        return next(new Error('Missing cookie headers'));
    }
    console.log('cookie header ( %s )', JSON.stringify(data.headers.cookie));
    var cookies = cookie.parse(data.headers.cookie);
    console.log('cookies parsed ( %s )', JSON.stringify(cookies));
    if (! cookies[COOKIE_NAME]) {
        return next(new Error('Missing cookie ' + COOKIE_NAME));
    }
    var sid = cookieParser.signedCookie(cookies[COOKIE_NAME], COOKIE_SECRET);
    if (! sid) {
        return next(new Error('Cookie signature is not valid'));
    }
    console.log('session ID ( %s )', sid);
    data.sid = …
Run Code Online (Sandbox Code Playgroud)

sockets node.js socket.io socket.io-1.0

9
推荐指数
1
解决办法
6132
查看次数

socket.io 1.2.1重新连接后如何修复双事件

在socket.io的博客中说,在版本1.2.1中

"README修复以防止重新连接时示例中的双重事件[@nkzawa]"

我为客户端和服务器下载了1.2.1版本,但重新连接后仍然会调用两次事件.或者我应该用自述文件做些什么?

我尝试这种方式重新连接并且它可以工作,但是我可以将它用于生产.这是否严格?

socket.disconnect()
// remove socket object
socket = undefined
// connect again
socket = io.connect({'forceNew':true})
Run Code Online (Sandbox Code Playgroud)

正如我所说的那样是正确的还是有缺点?

更新,添加代码

服务器端代码

socket.on('client_emited', function(data){
    socketIO.to('this socket id').emit('server_emitted');
})
Run Code Online (Sandbox Code Playgroud)

客户端代码

var socket;
function connectSocket () {
   if (!socket)
     socket = io({'forceNew':true});
   else
     socket.connect();
}
socket.on('connect', function(){
   console.log('CONNECTED TO SOCKET.IO SERVER. SENDING "client_emited" EVENT');
   socket.emit('client_emited');
});
socket.on('server_emited', function(){
   console.log('RECEIVED "server_emited" EVENT');
});
socket.connect(); // here console shows 'CONNECTED TO SOCK...' and 'RECEIVED "server_e...' 1 time
socket.disconnect();
socket.connect(); // here console shows 'CONNECTED TO …
Run Code Online (Sandbox Code Playgroud)

sockets node.js socket.io socket.io-1.0

6
推荐指数
1
解决办法
4531
查看次数

从Node.js中的firebird中选择时,未知值<Buffer d2 f3 f0 e0 e5 e2 e0 20>

我是火鸟新手.我试图从DB中获取名称,但它返回:

<Buffer d2 f3 f0 e0 e5 e2 e0 20>
Run Code Online (Sandbox Code Playgroud)

这是什么意思?如何将其转换为可读字符?提前致谢

db.query('SELECT FIRST 10 * FROM client', function(err, result) {
    // IMPORTANT: close the connection 
    console.log(result[0].name)
    db.detach();
});
Run Code Online (Sandbox Code Playgroud)

database firebird buffer firebird2.1 node.js

2
推荐指数
1
解决办法
304
查看次数