CSocket connect()失败!

leeclover 2013-07-04 04:56:08
下面是客户端代码:
AfxSocketInit();
CSocket aSocket;
CString strIP;
CString strText("aaa");
this->GetDlgItem(IDC_EDIT1)->GetWindowText(strIP);
//初始化 CSocket 对象, 因为客户端不需要绑定任何端口和地址, 所以用默认参数即可
if(!aSocket.Create())
{
AfxMessageBox(_T("create error"));
exit(1);
}
AfxMessageBox(strIP);
//转换需要连接的端口内容类型
//连接指定的地址和端口
if(aSocket.Connect(strIP, PORT))
{
aSocket.Send(strText, strText.GetLength()); //发送内容给服务器
}
else
{
AfxMessageBox(_T("connect error"));
exit(1);
}
aSocket.Close();

下面是服务器端线程代码:

CSocket aSocket,serverSocket;
if(!aSocket.Socket())
{
AfxMessageBox(_T("create socket error "));
exit(1);
}
BOOL bOptVal = TRUE;
int bOptLen = sizeof(BOOL);
//设置Socket的选项, 解决10048错误必须的步骤
aSocket.SetSockOpt(SO_REUSEADDR, (void *)&bOptVal, bOptLen, SOL_SOCKET);
if(!aSocket.Bind(PORT))
{
AfxMessageBox(_T("bind error"));
exit(1);
}
if(!aSocket.Listen(10))
AfxMessageBox(_T("listen error"));
AfxMessageBox(_T("success1"));
while(1)
{
if(!aSocket.Accept(serverSocket))
{
AfxMessageBox(_T("accept error"));
continue;
}
AfxMessageBox(_T("success3"));
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)RecvThread,(LPVOID)&serverSocket,0,0);
}

我这是用VS2010 MFC写的,服务器已经成功到accept()前面了,但是客户端connect不了(弹出我自己写的connect error),我输入的strIP是127.0.0.1,端口号PORT一边是4000一边是4600,有什么问题吗? 谢谢大家了!
...全文
599 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
我爱大家369 2013-07-16
  • 打赏
  • 举报
回复
int listen(int sockfd, int backlog); 你在本机上用127.0.0.1这个没问题啊
leeclover 2013-07-05
  • 打赏
  • 举报
回复
返回错误是10061,服务器部分代码为: if(!aSocket.Listen(10)) AfxMessageBox(_T("listen error")); AfxMessageBox(_T("success1")); while(1) { if(!aSocket.Accept(serverSocket)) { AfxMessageBox(_T("accept error")); continue; } 运行时,能弹出success1。 客户端用的地址是127.0.0.1。 请问有什么问题吗?
oyljerry 2013-07-04
  • 打赏
  • 举报
回复
WSAGetLastError查看错误信息 检查本机防火墙等
woshinia 2013-07-04
  • 打赏
  • 举报
回复
用getlastError获取错误码,然后网上查原因就行了。另外CSocket没怎么用过,不过socket是要设置协议和stream类型的吧,CSocket不用么?最后就可能是防火墙的原因了,一般情况下,如果系统防火墙开启的话,你listens之后应该会提示是否加入防火墙例外的。

18,356

社区成员

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

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