我用wsarecvfrom接收组播数据,wsasendto发送正常,可是每次wsarecvfrom接收到得数据总会有一些乱码,之后才是正确数据。这段代码在别的电脑上调试正常,为什么换一个电脑就出现了乱码?

解决方案 »

  1.   

    调试程序,在调用WSARecvFrom之前看一下buffer参数是不是有问题,接收完成后再检查一下buffer参数,如有问题再重新调试,查找一下是在哪里引起的。
      

  2.   

    接收之前buffer没有问题,全部都是0x00;但是接收以后bufer中就有了乱码,而且乱码都是一样的,前边有15个字节是乱码,后面就是正确的内容!这个问题感到很奇怪!
      

  3.   

    我的意思是注意一下WSABUF结构中的buf指针是否发生了变化。感觉是哪里指针使用出了问题或者内存访问越界破坏了buf指针。
      

  4.   

    buf指针地址没有发生变化,前后是一样的!
      

  5.   

    Debug下看看,是不是越界了 !
      

  6.   

    debug没有任何问题,也没有越界!但是就是不知道问题出在哪里了!
    无论发什么信息,接收时信息的前边总是多处15字节的乱码,并且乱码都是一样的值!
      

  7.   

    这个程序后来自己又好了!用WSARecvFrom接收数据完全正常,不知道为什么!