winsocket协议回放mismatch问题(转)

问题描述:

录制c/s软件,使用winsocket协议,回放的时候出现mismatch的错误,录制的时候是buf221接收到68078byte,回放的时候是0byte,如果在send和receive之间加入一段时间的thinktime的时候,就可以完全接收到68078byte的内容。

解决方案:

1.返回的数据是动态的,出现MISMATCH不奇怪,设置一下匹配时间的最大值就可以了!lrs_set_recv_timeout2().这个本人没尝试过。

2.lrs_set_receive_option(EndMarker, EndMarker_None ) // 读取直到缓冲结束.
尝试过这个函数,读取到的是0字节,可能是因为当时服务器没有处理完,所以缓存中确实是0字节
lrs_set_receive_option(EndMarker, RecordingSize) // 读取录制时缓存同样大小的数据。

本人采取的是lrs_set_receive_option(EndMarker, RecordingSize) 。问题解决。

posted @ 2009-07-03 15:53  shinta  阅读(578)  评论(0编辑  收藏  举报