Esempio n. 1
0
File: async.c Progetto: freb/rules
redisAsyncContext *redisAsyncConnectBind(const char *ip, int port, const char *source_addr) {
    SOCKADDR_STORAGE ss;
    redisContext *c = redisPreConnectNonBlock(ip, port, &ss);
    redisAsyncContext *ac = redisAsyncInitialize(c);
    if (aeWinSocketConnectBind(ac->c.fd, &ss, source_addr) != 0) {
        ac->c.err = errno;
        strerror_r(errno, ac->c.errstr, sizeof(ac->c.errstr));
    }
    __redisAsyncCopyError(ac);
    return ac;
}
Esempio n. 2
0
redisAsyncContext *redisAsyncConnect(const char *ip, int port) {
    struct sockaddr_in sa;
    redisContext *c = redisPreConnectNonBlock(ip, port, &sa);
    redisAsyncContext *ac = redisAsyncInitialize(c);
    if (aeWinSocketConnect(c->fd, (struct sockaddr *)&sa, sizeof(sa)) != 0) {
        c->err = errno;
        strerror_r(errno,c->errstr,sizeof(c->errstr));
    }
    __redisAsyncCopyError(ac);
    return ac;
}