首页
社区
课程
招聘
bp WSARecv函数问题
2008-8-5 17:12 6632

bp WSARecv函数问题

2008-8-5 17:12
6632
bp  WSARecv,断下来后接受的数据怎么看啊?以前用bp recv的时候,直接数据窗口跟随就可以了,可现在不知道该怎么找接受到的数据在内存的地址.请高手帮一下.谢谢!

以下是对这个函数的描述:
简述:从一个套接口接收数据。

          #include <winsock2.h>

          int WSAAPI WSARecv ( SOCKET s, LPWSABUF lpBuffers,
          DWORD dwBufferCount, LPDWORD lpNumberOfBytesRecvd,
          LPINT lpFlags, LPWSAOVERLAPPED lpOverlapped,
          LPWSAOVERLAPPED_COMPLETION_ROUTINE
          lpCompletionRoutine );

         
s:一个标识已连接套接口的描述字。
lpBuffers:一个指向WSABUF结构数组的指针。每一个WSABUF结构包含一个缓冲区的指针和缓冲区的长度。
dwBufferCount:lpBuffers数组中WSABUF结构的数目。
lpNumberOfBytesRecvd:如果接收操作立即结束,一个指向本调用所接收的字节数的指针。
lpFlags:一个指向标志位的指针。
lpOverlapped:一个指向WSAOVERLAPPED结构的指针(对于非重叠套接口则忽略)。
lpCompletionRoutine:一个指向接收操作结束后调用的例程的指针(对于非重叠套接口则忽略)。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (6)
雪    币: 196
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hanhanhan 2008-8-5 17:26
2
0
有没有高手回答一下
雪    币: 6073
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
forgot 26 2008-8-5 19:21
3
0
db [[esp+8]+4]
雪    币: 182
活跃值: (50)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
pathletboy 2 2008-8-5 20:11
4
0
断下来后是不能看到收到的数据的,因为还没有收,记得把函数执行完。
雪    币: 267
活跃值: (47)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
liangyu 2008-8-5 21:36
5
0
这个如果填写完成例程,则需另外考虑
雪    币: 164
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
blackboy 2008-8-5 23:04
6
0
这是异步接收,就是函数执行完,也未必看得到数据~
雪    币: 4069
活跃值: (3052)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
scz 5 2008-8-6 10:08
7
0
那就自己先看看该函数是否使用了重叠模式

如果使用了重叠模式,那就先记下buf所在,然后断那个回调函数(lpCompletionRoutine),等着看buf吧。

不过我倒是很少碰上这个函数使用重叠模式。
游客
登录 | 注册 方可回帖
返回