有这么一个继续继承的类CmySocket,生成了一个实例A,用来接收两个客户端发送的UDP多媒体数据包。接收一个客户端数据的时候没有问题,但是当两个客户端同时发送数据的时候,由于二者的编码格式一致,都没有包的标志头和尾,无法区分包与包之间的间隔,导致数据播放的时候,两个客户端的数据互有串入,在播放一个客户端多媒体流的时候,总有另一个客户端的声音串入。为了快速解决这个问题继续后面的测试,我把类生成了两个实例来接收两个客户端的数据,因为两个实例的socket空间是独立的,有独立的接收和发送缓冲区,应该在没有数据包标志保证的情况下也不会出现数据交叉。
于是我按这个思路生成了两个实例A和B,分别绑定了两个端口,然后每个客户端给不同的端口发,实现一对一的接收。结果居然在播放一路客户端音频流的时候,还是有另一路的杂音串入,难道socket的空间是共用的吗?