Previous topicNext topic
Help > XEngine_Client > XClient_Socket > XClient_UnixDomain >
XClient_UnixDomain_Connect

函数

XClient_UnixDomain_Connect

功能

连接到指定UNIX域地址

语法

BOOL XClient_UnixDomain_Connect(LPCSTR lpszUnixName, SOCKET* phSocket, BOOL bStream = TRUE, LPCSTR lpszUnixServer = NULL)

参数

 参数.一:lpszUnixName
  In/Out:In
  类型:常量字符指针
  可空:N
  意思:流式(TCP)输入目标套接字文件地址,UDP输入本地要绑定的套接字地址
 参数.二:phSocket
  In/Out:Out
  类型:句柄
  可空:N
  意思:输出连接成功后的操作句柄
 参数.三:bStream
  In/Out:In
  类型:逻辑型
  可空:Y
  意思:使用流式还是消息类型,WINDOWS目前只能流式
 参数.四:lpszUnixServer
  In/Out:In
  类型:常量字符指针
  可空:Y
  意思:消息套接字(UDP)需要设置服务器套接字文件地址

返回值

类型:逻辑型
意思:是否成功

备注

WINDOWS不支持消息类型
第一个参数的名称应该是你的服务器设置的地址

示例

int Test_Unix()
{
    int nMsgLen = 1024;
#ifdef _WINDOWS
    LPCTSTR lpszUnixName = _T("H:\\XEngine_Apps\\Debug\\unix.socket");
#else
    LPCTSTR lpszUnixName = _T("/tmp/unix.socket");
#endif

    SOCKET m_Socket;
    if (!XClient_UnixDomain_Connect(lpszUnixName, &m_Socket))
    {
        printf(_T("连接失败!\n"));
        return -1;
    }
    LPCTSTR lpszMsgBuffer = _T("hello");
    if (XClient_UnixDomain_SendMsg(m_Socket, lpszMsgBuffer, strlen(lpszMsgBuffer)))
    {
        printf("NetClient_UnixDomain_SendMsg:%d\n", nMsgLen);
    }
    XClient_UnixDomain_Close(m_Socket);
    return 1;
}