tcp连接,为啥都连接不上呢?出现100061的错误,真晕啊,为什么?

nightlocus 2006-10-03 01:34:50
服务端:
//初始化
WSADATA wsd;
if(WSAStartup(MAKEWORD(2,2),&wsd))
{
MessageBox("Initailize WSAStarup failed");
return true;
}
m_ServerSocket = socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
//unsigned long u1=0;
//int nRet = ioctlsocket(m_ServerSocket,FIONBIO,(unsigned long*)u1);
sockaddr_in addr;
int nSockError;
addr.sin_family = AF_INET;
addr.sin_port = htons(6600);
addr.sin_addr.s_addr = inet_addr("127.0.0.1");//htonl(INADDR_ANY);
if(bind(m_ServerSocket,(LPSOCKADDR)&addr,sizeof(addr)) == SOCKET_ERROR)
{
nSockError = WSAGetLastError();
MessageBox("bind server error");
}


void CSocketServerDlg::OnButtonListen()
{
// TODO: Add your control notification handler code here
SendMessage(IDC_LISTEN_PROCESS,16,0);
}

void CSocketServerDlg::ListenProcess()
{
int iRet = listen(m_ServerSocket,5);
if(iRet == SOCKET_ERROR)
{
iRet = WSAGetLastError();
MessageBox("listen error");
}
sockaddr_in addr_client;
int iAddrSize;
while(bFlag)
{
sClient = accept(m_ServerSocket,(sockaddr *)&addr_client,&iAddrSize);
if(sClient == INVALID_SOCKET)
{
break;
}
this->SendMessage(IDC_SEND_RECV,0,0);
}
closesocket(m_ServerSocket);

WSACleanup();
return;
}

bool bFlag = true;
#define DEFAULT_BUFFER 200
void CSocketServerDlg::SendAndRecv()
{
SOCKET sock = sClient;
char szBuff[DEFAULT_BUFFER];
int ret,nLeft,idx;
DWORD nSockError;
while(bFlag)
{
ret = recv(sock,szBuff,DEFAULT_BUFFER,0);
szBuff[ret] = '\0';
nLeft = ret;
idx = 0;
while(nLeft > 0)
{
ret = send(sock,&szBuff[idx],nLeft,0);
if(ret == 0)
{
break;
}
else if(ret == SOCKET_ERROR)
{
nSockError = WSAGetLastError();
break;
}
nLeft -= ret;
idx += ret;
}
}
return;
}




...全文
747 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanyaliji 2006-10-12
  • 打赏
  • 举报
回复
端口号呢?
rickerliang 2006-10-11
  • 打赏
  • 举报
回复
用0
ifeelhappy 2006-10-11
  • 打赏
  • 举报
回复
这个是错误提示: windows socket error:由于目标机器积极拒绝,无法连接。(10061),on API’connect'
windows socket error:由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。(10060),on API’connect'

目标机器积极拒绝的话,应该是说问题出在服务器端,你的这个程序问题好像是在回路地址,我之前也遇到过,你改成你机器实际的IP试试,比如162.105.3.45这样,不要用127.0.0.1.
mimong_lin 2006-10-04
  • 打赏
  • 举报
回复
看下MSDN里提供的SOCKET错误代码,就得到原因了。是服务端的问题。
DentistryDoctor 2006-10-03
  • 打赏
  • 举报
回复
10061:连接被拒。由于被目标机器拒绝,连接无法建立。这通常是由于在远程机器上,没有任何应用程序可以那个地址之上,为连接提供服务。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧