本帖最后由 oyljerry 于 2012-05-04 14:21:57 编辑

解决方案 »

  1.   

    send和recv不是一一对应,可能send一次,recv多次,或者send多次,recv一次。TCP是流,没有数据边界。
      

  2.   

    那个重发了,嘿嘿,send()和onReceive()是一一对应吗?
      

  3.   

    这要看你在onReceive()收了多少下来,假如你调用一次send(),发了1k,,这时候接收端来onReceive(),你在onReceive()里面接收512,那么还会再来onReceive(),一般的socket封装都是这样的
      

  4.   


    我现在的情况是这样的:我在客户端定议了 onReceive()函数来接收服务器端的数据,这里面没有对登录报文的确认。
    另外 客户端主动向服务器端发登录报文时, 为了收到服务器侧的对该登录报文的我确认,则在发完登录报文后,做一个死循环,来等待登录报文的确认报文。那么问题是: 服务器侧发登录报文的确认报文,客户端是 onReceive()接收,还是while(1)死循环后里的接收函数先接收?
      

  5.   

    onReceive是CSocket封装的消息函数
    receive才完成真正的接收