Winsock 2 SPI中在WSARecv()函数中如何截获网页的数据并保存在TXT文件中

解决方案 »

  1.   

    使用HTTP协议的相关接口得到WEB页的返回数据比较方便些
      

  2.   

    int WSPAPI WSPRecv(
    SOCKET s,
    LPWSABUF lpBuffers,
    DWORD dwBufferCount,
    LPDWORD lpNumberOfBytesRecvd,
    LPDWORD lpFlags,
    LPWSAOVERLAPPED lpOverlapped,
    LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
    LPWSATHREADID lpThreadId,
    LPINT lpErrno
    )
    {
    int iRet = NextProcTable.lpWSPRecv(s, lpBuffers, dwBufferCount
    , lpNumberOfBytesRecvd, lpFlags, lpOverlapped
    , lpCompletionRoutine, lpThreadId, lpErrno);
    //在这个地方把网页传输过来的源文件保存成TXT文件,代码如何写??
    }
      

  3.   

    lpBuffers指向一个WSABUF结构体数组
    dwBufferCount是此数组中结构体的数量利用此信息将lpBuffers里边的内容遍历一次 将其内容输出到目标文件中就好了貌似WSABUF结构体中也只有两个变量
    一个是char *buf
    另外一个好像是是u_int len
    很容易遍历的