vs 2008 c++ 学习(五)

简单的使用CSocket,客户端创建过程:
AfxSocketInit();//socket初始化
CSocket aSocket;
CString strIP;
CString strPort;
CString strText;
if(!aSocket.Create())//这才是创建socket
{
TCHAR szMsg[1024] = {0};
wsprintf(szMsg, _T("create faild: %d"), aSocket.GetLastError());
AfxMessageBox(szMsg);
return;
}
//这里才是使用socket连接远程服务器
int nPort = _ttoi(strPort);
BOOL s= aSocket.Connect(LPCTSTR(strIP) , nPort);
//连接成功,发送数据
if(s)
{
TCHAR szRecValue[1024] = {0};
//
DWORD dwNum = WideCharToMultiByte(CP_OEMCP,NULL,L"wwwww",-1,NULL,0,NULL,FALSE);
char *psText;
psText = new char[dwNum];
if(!psText)
{
delete []psText;
}
WideCharToMultiByte (CP_OEMCP,NULL,L"wwwww",-1,psText,dwNum,NULL,FALSE);

//
aSocket.Send(psText, dwNum);
delete []psText;
aSocket.Receive((void *)szRecValue, 1024);
AfxMessageBox(szRecValue);
}
else
{
TCHAR szMsg[1024] = {0};
wsprintf(szMsg, _T("create faild: %d"), aSocket.GetLastError());
AfxMessageBox(szMsg);
}
//关闭socket
aSocket.Close();


相互转换很简单:
LPCTSTR     ->     CString
CString   str(LPCTSTR);

Cstring     ->     LPCTSTR
LPCTSTR(CString)





LPCWSTR与CString转换
USES_CONVERSION;
A2CW((LPCSTR)data)




LPTSTR   =   (LPTSTR)(LPCTSTR)CString;

你可能感兴趣的:(2008)