由于用的是软交换,交换机只提供了1个端口5000用于接收和发送数据流。
我现在客户端,用1个端口3500以线程的方式侦听交换机5000端口的远程对方视屏流,再用1个端口4000发送本地视屏流数据给交换机的5000端口。交换机只提供了1个端口进行数据收发。这时候问题就来了,如果我发送了1段视屏后,就再也接不到对方的视屏数据,这个问题我知道是因为本地4000端口已经与交换机5000端口建立了连接,本地端口3500端口和交换机5000端口断开所致。但是还没找到很好的办法解决。我现在想到个办法就是设置1个BUFFER,接收数据流时候将数据存入BUFFER中,显示视屏的时候从BUFFER读数据,每隔一段时间暂停线程1会,释放侦听socket和交换机的5000端口绑定使交换机5000端口空出来,然后再用socket发送一部分视屏数据给交换机端口5000,以此循环。虽然能解决端口冲突问题,但是会有一定延迟。想问下各位还有啥好的方法吗?