In light of Mina being updated to 2.0 last night, if you use java6 you may
want to try trunk and see if it fixes your issue. I suspect the Executor
filter may have been part of your problem and with this update it is gone...
Paul
On 1/24/07, Nankun Huang <[EMAIL PROTECTED]> wrote:
Hi all,
According to an email which I got from this list yesterday, it was
stated that the 12 connection limit bug is fixed. I was overjoyed and
rushed to test out if this was the case. However after downloading the
lattest trunk and compiling, this does not seem to be the case. There
also isn't a bug report on the wiki about this and when the bug was
reported unto the mailing list earlier ( by someone else, not me ), it
was December and the issue didn't seem to have gotten much attention
from the dev team. Here's a simple adobe flex program which I made
that illustrates the bug. the MXML source file is below:
The bug happens when a user publishes a stream, unpublish it, publish
a new stream with a different stream name and then unpublish it
again... rinse and repeat about 12 times and it stops working ( I no
longer get the publish success message ). I guess the intended
functionality is that each user shouldnt' publish more than 12
simultaneous streams which makes sense.. however in this case, once a
stream is unpublished, it should just get deleted and no longer
"count" toward the user. Thanks for your attention.
It seems that when I reach the limit of the number of streams that can
be published, red5 gives me this error in the console
[java] [WARN] 575703 pool-1-thread-2:(
org.red5.server.net.rtmp.RTMPHandler
.warn ) Unhandled ping: Ping: 3, 0, 0, -1
[java] 00 03 00 00 00 00 00 00 00 00
------ and here's the mxml file
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute">
<mx:Script>
<![CDATA[
import mx.utils.UIDUtil;
import flash.net.NetStream;
import flash.net.NetConnection;
import flash.net.ObjectEncoding;
import flash.media.Microphone;
import flash.events.NetStatusEvent;
import mx.controls.Alert;
//set to AMF0 for red5
NetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;
private var nc: NetConnection;
private var ns:NetStream;
private var ns_play:NetStream;
private var stream_name:String;
//connect to server
private function connect():void{
nc = new NetConnection();
nc.client = this;
nc.addEventListener(NetStatusEvent.NET_STATUS,
netStatusHandler);
nc.connect( "rtmp://localhost/fitcDemo");
}
//useless callbcks from fitcDemo
public function setId( id:String):void{
trace("server invoked set ID: "+ id);
}
public function newStream( id:String):void{
trace("server invoked newStream: "+ id);
}
//start to publish the stream
public function startPub():void{
var mic:Microphone = Microphone.getMicrophone();
// generate a unique stream name every time with the
unique ID generator
stream_name = UIDUtil.createUID();
this.btnPub.enabled = false;
ns = new NetStream(nc);
ns.attachAudio( mic )
ns.addEventListener( NetStatusEvent.NET_STATUS,
netStreamStatusHandler);
ns.publish( stream_name );
}
//stop publishing the stream
public function stopPub():void{
ns_play.close();
ns.close();
this.btnPub.enabled = true;
this.btnStop.enabled= false;
}
private function netStatusHandler(event:NetStatusEvent):void{
trace(event.info.code);
if(event.info.code == "NetConnection.Connect.Success") {
this.btnPub.enabled = true;
Alert.show('connected to server!!');
}
}
//when publish is successful, play the stream
private function
netStreamStatusHandler(event:NetStatusEvent):void{
if( event.info.code == "NetStream.Publish.Start" ) {
trace(event.info.code);
ns_play = new NetStream(nc);
ns_play.play( stream_name );
this.btnStop.enabled = true;
}
}
]]>
</mx:Script>
<mx:Panel x="10" y="10" width="284" height="256" layout="absolute"
title="Red5 12 connection limit bug ">
<mx:Button x="10" y="10" label="Connect" click="connect()"/>
<mx:Button x="10" y="40" label="Publish & Play"
mouseDown="startPub()" enabled="false" id="btnPub"/>
<mx:Button x="125" y="40" label="Stop" mouseDown="stopPub()"
enabled="false" id="btnStop"/>
<mx:Text x="10" y="70" text="Press connect to connect to
server (pop up will inform you that its connected), when connected
press publish & play to publish with your own mic and play the
same stream you published. Press stop to stop the publishing and
playing. Do this for 12 times, it'll die on the 13th time,
illustrating the bug. Somtiems it fails before 12 times."
width="251"/>
</mx:Panel>
</mx:Application>
_______________________________________________
Red5 mailing list
[email protected]
http://osflash.org/mailman/listinfo/red5_osflash.org
--
The early bird may get the worm, but the second mouse gets the cheese.
_______________________________________________
Red5 mailing list
[email protected]
http://osflash.org/mailman/listinfo/red5_osflash.org