vc socket send的问题
在发送端send已经返回了发送的字节数,但是在发送端抓不到包?是什么问题?难倒没有发送成功??

解决方案 »

  1.   

    发送成功不成功看返回值啊,还有就是GetLastError。。你怎么抓包的?
      

  2.   

    一直抓不到包?不可能啊你send返回发送的字节数,表示发送成功了
      

  3.   

    用的wireshark 就在发送的pc上抓包的,抓不到!
      

  4.   

    send函数返回不表示数据立即就发送出去了,数据的协议发送的,send只是将数据copy到发送缓冲区剩余空间中,至于什么时候发送,send不管。
      

  5.   

    用FormatMessage获取错误 LPVOID lpMsgBuf;
    FormatMessage( 
        FORMAT_MESSAGE_ALLOCATE_BUFFER | 
        FORMAT_MESSAGE_FROM_SYSTEM | 
        FORMAT_MESSAGE_IGNORE_INSERTS,
        NULL,
        GetLastError(),
        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
        (LPTSTR) &lpMsgBuf,
        0,
        NULL 
    );
    // Process any inserts in lpMsgBuf.
    // ...
    // Display the string.
    MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );
    // Free the buffer.
    LocalFree( lpMsgBuf );
      

  6.   

    没有什么错误啊?send已经返回成功了 
      

  7.   

    5楼说的对,你可以自己recv一下,如果可以recv到数据,就是你的抓包设置有问题了。
      

  8.   

    你用是sniffer吗,send是管发数据到本机的缓冲区里,底层的协议时自己发送数据的,所以可能没法出去的
      

  9.   

    一端send,另一端recv,当服务端绑定,监听,然后阻塞在recv的时候,客户端send过来的才算完成一次数据发送,recv这是退出阻塞,接收数据