自己用原始套接字写了一个通信程序,分客户端和服务器,在debug下,客户端给服务器发消息,服务器能正常收到,但是到了release下,客户端的消息显示已经发送成功(返回true),但是服务器就是收不到消息。请高手指点以下这是怎么回事。提前谢谢了。

解决方案 »

  1.   

    客户端是不是发送完消息后,就关闭socket了?
    如果是的话,请检查一下下面的值
    Option  Interval  Type of close  Wait for close?  
    SO_DONTLINGER  Do not care  Graceful  No  
    SO_LINGER  Zero  Hard  No  
    SO_LINGER  Nonzero  Graceful  Yes  
      

  2.   

    是的,客户端一发送完毕就closesocket,但是为什么这样做在debug下面就没有问题呢?
      

  3.   

    debug得比较慢,release比较快,慢得情况下,你closesocket之前报文已经发出去了