请熟悉jmf的高手解答.
我写的程序中有这样一段代码:
//为每个轨迹产生一个RTP会话管理器
for (int i = 0; i < pbss.length; i++)
{
try {
rtpMgrs [i] = RTPManager.newInstance();
//每增加一个轨迹,端口号加2
int portTemp = port +2*i;
//获取发送目的地的地址
InetAddress ipAddr = InetAddress.getByName(ipAddress);
//获取本机会话地址
SessionAddress localAddr = new SessionAddress(InetAddress.getLocalHost(),port);
//获取目标会话地址
SessionAddress destAddr = new SessionAddress(ipAddr, portTemp);
//将本机会话地址穿给RTP管理器
rtpMgrs [i].initialize(localAddr);
//加入目的会话地址
rtpMgrs [i].addTarget(destAddr);
System.err.println("Create RTP session:"+ipAddress+" "+portTemp);
//产生RTP传输流
SendStream sendStream = rtpMgrs [i].createSendStream(dataOutput, i);
//开始RTP发送
sendStream.start();
} catch (Exception e) {
return e.getMessage();
}
}
执行这个循环的时候第一次正常,到第二次的时候执行到rtpMgrs [i].initialize(localAddr);就会出错.提示"Can't open local data port: 4000
"
为什么同样的IP地址,第2次的时候就不能执行了呢. 那位高手能解答这个问题,100分相送.