一个郁闷的问题,请有经验的朋友帮忙。

gujianfei1979 2003-12-09 11:42:42
string zhongjian2[1024];
WSARecv(hConnect,&pConnOvlEx->WSABuf,1,&dwRecvBytes,&dwFlags,(LPWSAOVERLAPPED)pConnOvlEx,NULL);
strcpy( zhongjian2, pConnOvlEx->Buffer );
//////////////////////////////////////////////
pConnOvlEx->Buffer里已经确实接受到数据了,zhongjian2[]也已经初始化过了。我按F10单步执行,可以成功的将pConnOvlEx->Buffer 拷到zhongjian2里面。但是让程序自己执行的话,就怎么也拷不进去。郁闷中……
...全文
19 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohyy 2003-12-10
  • 打赏
  • 举报
回复
非阻塞socket问题。Semigod说的很清楚了
naughtyboy 2003-12-10
  • 打赏
  • 举报
回复
gz
ISunwu 2003-12-09
  • 打赏
  • 举报
回复
在拷贝之前,有越界访问之嫌。请楼主仔细检查。
114sky 2003-12-09
  • 打赏
  • 举报
回复
越界访问之嫌
bluebohe 2003-12-09
  • 打赏
  • 举报
回复
BOOL bTest = sockSend.AsyncSelect(0);//由于CSocket实际是异步,将它变为同步(阻塞)方式。
sockSend.IOCtl( FIONBIO, &dwTemp);//用IOCtl要将AsyncSelect的第一个参数为0,参看MSDN
Semigod 2003-12-09
  • 打赏
  • 举报
回复
很明显,你的程序使用的是非阻塞模式的winsock
当你单步时,strcpy执行的时候数据已经传送完
而非单步时,strcpy执行时数据还没有传送完,strcpy就没有办法完成任务啦

18,356

社区成员

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

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