xuejianhui

导航

初解禁:供SDK服务端调用函数--02+

/****************************************************************************************************
 函 数 名:   BuildUnixSocket
 功能描述:   创建域套接字,将套接字与地址绑定
 输入参数:   pSrc 域套接字文件路径
 返 回 值:   -1, 失败; 非-1, 套接字描述符
*****************************************************************************************************/
LONG BuildUnixSocket(const CHAR *pSrc)
{
    LONG lFd;
    socklen_t sktSrcSize;
    struct sockaddr_un stSrcAddr;

    /* Src地址 */
    memset(&stSrcAddr, 0, sizeof(stSrcAddr));
    stSrcAddr.sun_family = AF_UNIX;
    strncpy(stSrcAddr.sun_path, pSrc, ADDR_LEN - 1);
    sktSrcSize = offsetof(struct sockaddr_un, sun_path) + strlen(pSrc);

    /* 配置域套接字地址文件 */
    unlink(pSrc);

    /* 创建域套接字 */
    if(FAIL == (lFd = socket(AF_UNIX, SOCK_DGRAM, 0)))
    {
        return FAIL;
    }

    /* 绑定域套接字文件 */
    if(FAIL == bind(lFd, (struct sockaddr *)&stSrcAddr, sktSrcSize))
    {
        return FAIL;
    }

    return lFd;
}

posted on 2012-11-01 14:33  xuejianhui  阅读(112)  评论(0编辑  收藏  举报