BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #41275同步于 2010/7/13
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

求助 mfc中CSocket类的使用

ninijungle
2010/7/13镜像同步4 回复
CSocket Sock; char sdata[255] = {0}; char sRecv[255] = {0}; CString sResp="hello"; int n; if(!Sock.Create()) { MessageBox("create error!!!"); return; } //创建套接字 if(!Sock.Connect( "123.125.50.133",25)) //连接服务器 { Sock.GetLastError(); MessageBox("connectiong failed"); return; } if(Sock.Receive(sRecv,255)<=0) { Sock.GetLastError(); MessageBox("already failed"); } sResp = sRecv; //MessageBox(sRecv); sResp = sResp.Left(3); MessageBox(sResp+"fanhuizhi"); if(sResp!="220") { MessageBox( "Connect Fail! "); return; } MessageBox("connection ok!"); //返回220 CString strH = "HELO abc-nini\r\n "; Sock.Send(strH,strH.GetLength()); n = Sock.Receive(sRecv,255); sResp = sRecv; sResp = sResp.Left(3); MessageBox(sRecv); if(sResp != "250") { MessageBox("send failed!!"); return; } MessageBox("sent helo already!"); CString strUser1="AUTH LOGIN"; if(!Sock.Send(strUser1,strUser1.GetLength())) { Sock.GetLastError(); MessageBox("eeeeeeeeeee"); } n = Sock.Receive(sRecv,255); //这个地方会出错 导致程序挂掉 不解 是由于阻 塞的问题吗?为什么前面调用receive函数时不会出现这样的问题????求指导 sResp = sRecv; sResp=sResp.Left(3); MessageBox(sRecv);//返回334 if(sResp!="334") { MessageBox("auth login failed!"); return; }
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
ninijungle机器人#1 · 2010/7/14
上面提到的问题也不是程序死掉 只不过反映非常慢。。。要等很久。。。不知道为什么 期待解答~ ps:返回错误值倒是很快 比如发送时使用"auth login"不加回车换行= =
a206206机器人#2 · 2010/7/14
不知道,帮顶
ninijungle机器人#3 · 2010/7/14
继续求~3Q~
zwp机器人#4 · 2010/7/14
建议直接用原始socket,不要用这个类了。