非常有挑战性的Socket问题?居然不能消息中断!
连接一个远程端口80(Http),Connect和Send都无任何问题,但就是无法相应
OnReceive虚拟函数,通过抓包器(Iris)看得清清楚楚,服务器已经回复,而且所有数据都正常,但是就是无法响应OnReceive函数,不知为何?
哪位高手指点迷津,必高分酬谢!
问题点数:100、回复次数:9Top
1 楼flmttm()回复于 2003-06-04 17:57:57 得分 0
upTop
2 楼lovemaggic(Jack)回复于 2003-06-04 17:58:43 得分 0
CSocket:: AsyncSelect(FD_READ|FD_WRITE);
Top
3 楼ljc1007(成成)回复于 2003-06-05 11:12:30 得分 0
lovemaggic老兄,
我试了,不是这个原因,因为我继承的是CSocket,缺省情况下相应所有的事件,另外,我也加上了这句话,可还是不行。同样一个类,在别的情况下都用得好好的。我又做了个测试,直接调用,就可以。
Top
4 楼fishboyzyf(小鱼儿)回复于 2003-06-05 11:15:18 得分 0
upTop
5 楼GunRoses()回复于 2003-06-05 12:10:02 得分 0
你到MFC源代码里去设断点跟踪不就知道了吗?从最下面跟起Top
6 楼howtotell(从何谈起)回复于 2003-06-05 12:15:09 得分 0
从CAsyncSocket继承试试看.Top
7 楼ISAKEEPER()回复于 2003-06-05 16:48:57 得分 0
和我现在碰到的问题类似,关注!!!Top
8 楼Panr(光荣)回复于 2003-06-05 17:08:30 得分 100
[如果你没有超类CSocketWnd 的话]
运行程序后,打开<SOCKCORE.CPP>文件,找到CAsyncSocket::DoCallBack 函数
在switch (WSAGETSELECTEVENT(lParam)) 的case FD_READ:里设断点
如果没到这里来的话,重装一下系统,还无效偶就没法了
否则,看看是不是0==nBytes && 0==nErrorCode,跟到OnReceive 里面,看它调了哪个函数Top
9 楼awnucel(西大耻犹未雪,南京恨何时灭&抵制日货)回复于 2003-06-05 21:46:11 得分 0
gzTop




