Socket发送数据重叠问题!!!
第一次在CSDN发帖子,请多多帮忙~~~小弟不胜感激。。。。
我要做的一件事情是一个Socket服务器,多个Socket客户端。服务器负责客户端之间的数据转发。。。。
很简单吧?
可是我还是遇到问题了。。。一直没有找到答案。
数据传输中遇到这样的问题:发送给客户端A的数据还没有发送出去,又有新的发送给A的数据要发送了。于是两个本来应该独立发送的数据被一起发送给A。
客户端A收到这个数据的时候,(XML格式的),由于有两条数据,两个XML数据,客户端就不认了,无法解析回一个XML文档。。。。
怎么办?
客户端Socket是使用Flash中的XMLSocket,服务器端使用C++中的CAsyncSocket。客户端进行修改的可能性比价小,因为只要不是XML格式的,它都收不到,我在想有没有办法让服务器端在发送完一次数据之后再发送新的数据呢?而不要把多个数据合在一起发送。接收数据的时候可能也存在问题。如果一条数据还没有读取完的时候又有新的数据进来,这个时候如何避免两条数据相互干扰?
小弟对Socket机制了解甚少,不得其门而入,轻诸位帮帮忙。。。。