函数
XClient_TCPSelect_Create
功能
创建一个客户端
语法
BOOL XClient_TCPSelect_Create(SOCKET * phSocket, LPCSTR
lpszAddr, int nPort, int nTimeout = 0, LPCSTR lpszBindAddr = NULL, int nBindPort
= 0, int nIPVer = 2)
参数
参数.一:phSocket
In/Out:Out
类型:套接字句柄
可空:N
意思:创建成功的套接字
参数.二:lpszAddr
In/Out:In
类型:常量字符指针
可空:N
意思:要连接到的服务器
参数.三:nPort
In/Out:In
类型:整数型
可空:N
意思:要连接到的端口
参数.四:nTimeout
In/Out:In
类型:整数型
可空:Y
意思:链接超时时间,单位秒
参数.五:lpszBindAddr
In/Out:In
类型:常量字符指针
可空:Y
意思:输入要指定的网卡地址
参数.六:nBindPort
In/Out:In
类型:常量字符指针
可空:Y
意思:输入要指定的端口
参数.七:nIPVer
In/Out:In
类型:整数型
可空:Y
意思:要使用的IP版本
返回值
类型:逻辑型
意思:是否成功
备注
此模型套接字客户端 可以创建多个客户端,但是无安全属性,无线程管理,无多客户端自动管理
示例
int
TCPTest()
{
int nMsgLen =
10240;
TCHAR
tszSDBuffer[10000];
TCHAR
tszMsgBuffer[10240];
memset(tszSDBuffer,
'\0', sizeof(tszSDBuffer));
SOCKET
m_Socket;
if
(!XClient_TCPSelect_Create(&m_Socket, _T("127.0.0.1"),
5000))
{
printf(_T("连接失败!\n"));
return -1;
}
memset(tszMsgBuffer,
'\0', sizeof(tszMsgBuffer));
XENGINE_PROTOCOLHDR
st_ProtocolHdr;
memset(&st_ProtocolHdr,
'\0', sizeof(XENGINE_PROTOCOLHDR));
st_ProtocolHdr.wHeader
= XENGIEN_COMMUNICATION_PACKET_PROTOCOL_HEADER;
st_ProtocolHdr.xhToken
= 0;
st_ProtocolHdr.unOperatorType =
ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_AUTH;
st_ProtocolHdr.unOperatorCode =
0x2001;
st_ProtocolHdr.unPacketSize =
0;
st_ProtocolHdr.byVersion =
1;
st_ProtocolHdr.byIsReply =
TRUE;
st_ProtocolHdr.wReserve =
0;
st_ProtocolHdr.wPacketSerial =
0;
st_ProtocolHdr.wTail =
XENGIEN_COMMUNICATION_PACKET_PROTOCOL_TAIL;
if
(XClient_TCPSelect_SendMsg(m_Socket, (LPCTSTR)&st_ProtocolHdr, sizeof(XENGINE_PROTOCOLHDR)))
{
printf("NetClient_TCPSelect_SendMsg:%d\n", nMsgLen);
}
if
(XClient_TCPSelect_SendMsg(m_Socket, "123", 3))
{
printf("NetClient_TCPSelect_SendMsg:123\n");
}
XClient_TCPSelect_Close(m_Socket);
return 1;
}