这个BytesReceived 属性是实时更新的吗??
我用mscomm中的inbuffercount属性,这个属性是实时更新的,缓冲区有多少数据就显示多少数据
但是winsock中的BytesReceived是否也是这样的呢、??
请高手指教一下

解决方案 »

  1.   


    Returns the amount of data received 
      表示你此次可接收的数据!
      

  2.   

    那如果我收到的数据是第一包+第二包的前半部分,那么我在解析的时候不就不正确了吗??
    这个问题怎么解决呢??winsock有没有一种属性可以返回缓冲区中可以接受的字符的数量
      

  3.   

    BytesReceived属性在实际网络编程中用处并不大,你对数据的传输不能依靠它来判断,不同数据包之间要加上自己的分割标识,网络传输整条数据被分段或多条相连是很常见的事,只要用好分割符,再怎么连或怎么断就都不怕了。
    另外,在你的另一贴中也有回复,综合一下吧。
      

  4.   

    使用TCP进行数据发送接收时可能出理前一块数据与后一块数据同时到达的情况。这种情况你要自己进行数据判断。比如发送时全是小包,接收时变为一个大包。发送时为超大包(大于8K),系统自动给给为分8K(黙认值)为一包。你应该自己定一个传输协议。比如每一包头带一个本包大小的头,接收时按包头大小进行接收。超出的为另一包的数据。