Socket编程 接收端连接不上,求帮忙!

biaozi322 2012-09-11 09:18:49
发送端代码
BYTE IPByte[4]; 
CString strIP = "";
if(m_ctlIpAddress.GetAddress(IPByte[0], IPByte[1], IPByte[2], IPByte[3]) !=4 )
{
AfxMessageBox("你输入的IP地址不完整!");
m_ctlIpAddress.SetFieldFocus(0);
return;
}

m_ctlIpAddress.GetWindowText(strIP);

// MessageBox(strIP);
m_clClient.Create(); //创建端口,采用默认的端口号

if(m_clClient.Connect(strIP,m_nPort))//连接目标地址,端口m_nPort是EDIT控件的变量
{
MessageBox(" 连接成功");
m_ctlSend.EnableWindow(TRUE); //连接成功,可以发送
m_ctlConnect.EnableWindow(FALSE); //禁止再连接
}
else
{
MessageBox("连接不成功");
// m_ctlSend.Close( );
m_clClient.Close();
}

接收端:
m_clServer.Create(6000);    //新建端口	//m_clServer是CSocket类对象
m_clServer.Listen( ); //侦听
m_clServer.Accept(m_clRecv); //侦听到的ip地址和端口号绑定到m_clRecv



求大神帮帮看看哪里有问题。
...全文
206 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
luawkk 2012-10-18
  • 打赏
  • 举报
回复
写个定植看看先
1,建议楼主不要用封装的mfc类,个人感觉不好用,而且很被动
2,还是 win32 socket 好用
looklzg1105 2012-10-18
  • 打赏
  • 举报
回复
先开启服务端监听,cmd里面ping或者telent一下端口,是否通。如果通,就是客户端问题,如果不通,就是服务端问题
c3110004950 2012-09-20
  • 打赏
  • 举报
回复
Accpet不是要一直不是要一直都处于阻塞状态吗?就是说要给个循环啊。。。。

m_clServer.Create(6000); //新建端口 //m_clServer是CSocket类对象
m_clServer.Listen( ); //侦听
m_clServer.Accept(m_clRecv); //侦听到的ip地址和端口号绑定到m_clRecv

你侦听(Listen)了之后,程序就运行到了Accept这行代码,此时,发现侦听队列里面没有客户端请求connect,返回FALSE

试一下这样
while(TRUE)
{
m_clServer.Accept(m_clRecv); //侦听到的ip地址和端口号绑定到m_clRecv
break; //连接成功,跳出循环
}
Eleven 2012-09-20
  • 打赏
  • 举报
回复
Connect连接不成功,WSAGetLastError的值是什么?
dushun1000 2012-09-15
  • 打赏
  • 举报
回复
if(m_clClient.Connect(strIP,m_nPort))//连接目标地址,端口m_nPort是EDIT控件的变量
m_nPort是int类型不?
遗忘de梦 2012-09-15
  • 打赏
  • 举报
回复
端口m_nPort是EDIT控件的变量,m_nPort的值是60000吗?貌似你没有UpdateData(TRUE)
傻X 2012-09-11
  • 打赏
  • 举报
回复
m_clClient.Connect(strIP,m_nPort)
1.断点看看strIP的值,看看是否填写正确,是不是填反了。
2.端口绑定也检查下不要冲突了
3.防火墙什么的都关掉
biaozi322 2012-09-11
  • 打赏
  • 举报
回复
if(m_clClient.Connect(strIP,m_nPort))不就是判断返回值了吗[Quote=引用 1 楼 的回复:]

判断返回值
[/Quote]
ouyh12345 2012-09-11
  • 打赏
  • 举报
回复
判断返回值
biaozi322 2012-09-11
  • 打赏
  • 举报
回复
已经检查过了,IP转换没出现问题。[Quote=引用 4 楼 的回复:]

m_clClient.Connect(strIP,m_nPort)
1.断点看看strIP的值,看看是否填写正确,是不是填反了。
2.端口绑定也检查下不要冲突了
3.防火墙什么的都关掉
[/Quote]
biaozi322 2012-09-11
  • 打赏
  • 举报
回复
已经检查过了,IP转换没出现问题。[Quote=引用 4 楼 的回复:]

m_clClient.Connect(strIP,m_nPort)
1.断点看看strIP的值,看看是否填写正确,是不是填反了。
2.端口绑定也检查下不要冲突了
3.防火墙什么的都关掉
[/Quote]
biaozi322 2012-09-11
  • 打赏
  • 举报
回复
已经检查过了,IP转换没出现问题。 [Quote=引用 3 楼 的回复:]

仅存的分数送上了,求大家来帮忙看看~~
[/Quote]

18,356

社区成员

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

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