首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

关于CSocket解决办法

2012-02-23 
关于CSocket各位:我想利用CSocket完成client和service的通信,但在client端用connect()连接服务器时出现“套

关于CSocket
各位:

我想利用CSocket完成client和service的通信,但在client端用connect()连接服务器时出现“套接字操作尝试一个无法连接的主机”错误,我刚刚接触MFC,不知道如何解决这个问题,请各位高手给点建议,非常感谢。

client端部分代码:

CMutex gMutex(FALSE, NULL);
UINT ConnectProc (LPVOID param)
{
gMutex.Lock();
//char *ip1 = static_cast<char* >param;
param = "101.101.1.1";
int iport=1010;
char *ip1 = (char*)param;
CString ip2 (ip1);
CSocket * sock = new CSocket();
if (!sock->Create()) {
interrNo;
LPTSTR lpBuffer; 
errNo = GetLastError();
::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | 
FORMAT_MESSAGE_IGNORE_INSERTS | 
FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
errNo, // 此乃错误代码,通常在程序中可由 GetLastError()得之
LANG_NEUTRAL,
(LPTSTR) &lpBuffer,
0 ,
NULL );

CString strErr = lpBuffer ? CString(lpBuffer) : _T("cannot get error info");

MessageBox(NULL, strErr, _T("Create connect error"), MB_OK);
gMutex.Unlock();
return 1;
}

if (!sock->Connect((LPCTSTR)ip2, iport)) {
interrNo;
LPTSTR lpBuffer; 
errNo = GetLastError();
::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | 
FORMAT_MESSAGE_IGNORE_INSERTS | 
FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
errNo, // 此乃错误代码,通常在程序中可由 GetLastError()得之
LANG_NEUTRAL,
(LPTSTR) & lpBuffer,
0 ,
NULL );

CString strErr = lpBuffer ? CString(lpBuffer) : _T("cannot get error info");
MessageBox(NULL, strErr, _T("Connect Service Error"), MB_OK);
gMutex.Unlock();
return 1;
}
else {
/*if (pstrMsg != NULL) {
char msg[1024];
for (int i = 0; i< pstrMsg->GetLength(); i++){
msg[i] = (*pstrMsg)[i];
}
sock->Send(msg, pstrMsg->GetLength());
pstrMsg->ReleaseBuffer();
}*/

}
gMutex.Unlock();
return 0;
}

[解决办法]
那就给分吧
[解决办法]
问题解决了啊。。。那接分咯。。。
[解决办法]
这里是.net。。。。板块。。
[解决办法]
晕,咋解决的呀
[解决办法]
端口号要大于1023吧?

热点排行