起動
appStart scope:HoldData:scope1
before:[scope1]
after:[scope1]
接続1
[INFO] [NioProcessor-1] org.red5.server.net.rtmp.RTMPHandler - Connecting to: [WebScope@32e62121 Depth = 1, Path = '/default', Name = 'test']
appConnect conn:HoldData:conn1 conn2:HoldData:conn1
before:[scope1, conn1]
after:[scope1, conn1]
appJoin client:HoldData:client1 scope:HoldData:scope1
before:[client1, scope1, conn1]
after:[client1, scope1, conn1]
切断1
appDisconnect conn:HoldData:conn1 conn2:HoldData:conn1
before:[client1, scope1, conn1]
after:[client1, scope1, conn1]
appLeave client:HoldData:client1 scope:HoldData:scope1
before:[client1, scope1, conn1]
after:[client1, scope1, conn1]
接続2
[INFO] [NioProcessor-1] org.red5.server.net.rtmp.RTMPHandler - Connecting to: [WebScope@32e62121 Depth = 1, Path = '/default', Name = 'test']
appConnect conn:HoldData:conn2 conn2:HoldData:conn2
before:[client1, conn2, scope1, conn1]
after:[conn2, scope1]
appJoin client:HoldData:client2 scope:HoldData:scope1
before:[client2, conn2, scope1]
after:[client2, conn2, scope1]
接続3
[INFO] [NioProcessor-1] org.red5.server.net.rtmp.RTMPHandler - Connecting to: [WebScope@32e62121 Depth = 1, Path = '/default', Name = 'test']
appConnect conn:HoldData:conn3 conn2:HoldData:conn3
before:[client2, conn2, conn3, scope1]
after:[client2, conn2, conn3, scope1]
appJoin client:HoldData:client3 scope:HoldData:scope1
before:[client3, client2, conn2, conn3, scope1]
after:[client3, client2, conn2, conn3, scope1]
切断3
appDisconnect conn:HoldData:conn3 conn2:HoldData:conn3
before:[client3, client2, conn2, conn3, scope1]
after:[client3, client2, conn2, conn3, scope1]
appLeave client:HoldData:client3 scope:HoldData:scope1
before:[client3, client2, conn2, conn3, scope1]
after:[client3, client2, conn2, conn3, scope1]
切断2
appDisconnect conn:HoldData:conn2 conn2:HoldData:conn2
before:[client3, client2, conn2, conn3, scope1]
after:[client2, conn2, scope1]
appLeave client:HoldData:client2 scope:HoldData:scope1
before:[client2, conn2, scope1]
after:[client2, conn2, scope1]
ルーム接続実験
接続4
roomStart scope:HoldData:scope2
before:[client2, conn2, scope2, scope1]
after:[scope2, scope1]
[INFO] [NioProcessor-1] org.red5.server.net.rtmp.RTMPHandler - Connecting to: [Scope@519549e Depth = 2, Path = '/default/test', Name = '135']
appConnect conn:HoldData:conn4 conn2:HoldData:conn4
before:[conn4, scope2, scope1]
after:[conn4, scope2, scope1]
appJoin client:HoldData:client4 scope:HoldData:scope1
before:[conn4, client4, scope2, scope1]
after:[conn4, client4, scope2, scope1]
roomConnect conn:HoldData:conn4 conn2:HoldData:conn4
before:[conn4, client4, scope2, scope1]
after:[conn4, client4, scope2, scope1]
roomJoin client:HoldData:client4 scope:HoldData:scope2
before:[conn4, client4, scope2, scope1]
after:[conn4, client4, scope2, scope1]
切断4
roomDisconnect conn:HoldData:conn4 conn2:HoldData:conn4
before:[conn4, client4, scope2, scope1]
after:[conn4, client4, scope2, scope1]
roomLeave client:HoldData:client4 scope:HoldData:scope2
before:[conn4, client4, scope2, scope1]
after:[conn4, client4, scope2, scope1]
roomStop scope:HoldData:scope2
before:[conn4, client4, scope2, scope1]
after:[conn4, client4, scope2, scope1]
appDisconnect conn:HoldData:conn4 conn2:HoldData:conn4
before:[conn4, client4, scope2, scope1]
after:[conn4, client4, scope2, scope1]
appLeave client:HoldData:client4 scope:HoldData:scope1
before:[conn4, client4, scope2, scope1]
after:[conn4, client4, scope2, scope1]
[ERROR] [NioProcessor-1] org.red5.io.amf.Input - Error loading class: com.taktod.red5test.Application$HoldData
接続5
roomStart scope:HoldData:scope3
before:[conn4, client4, scope3, scope2, scope1]
after:[scope3, scope1]
[INFO] [NioProcessor-1] org.red5.server.net.rtmp.RTMPHandler - Connecting to: [Scope@61b00766 Depth = 2, Path = '/default/test', Name = '135']
appConnect conn:HoldData:conn5 conn2:HoldData:conn5
before:[conn5, scope3, scope1]
after:[conn5, scope3, scope1]
appJoin client:HoldData:client5 scope:HoldData:scope1
before:[conn5, client5, scope3, scope1]
after:[conn5, client5, scope3, scope1]
roomConnect conn:HoldData:conn5 conn2:HoldData:conn5
before:[conn5, client5, scope3, scope1]
after:[conn5, client5, scope3, scope1]
roomJoin client:HoldData:client5 scope:HoldData:scope3
before:[conn5, client5, scope3, scope1]
after:[conn5, client5, scope3, scope1]
接続6
[INFO] [NioProcessor-1] org.red5.server.net.rtmp.RTMPHandler - Connecting to: [Scope@61b00766 Depth = 2, Path = '/default/test', Name = '135']
appConnect conn:HoldData:conn6 conn2:HoldData:conn6
before:[conn6, conn5, client5, scope3, scope1]
after:[conn6, conn5, client5, scope3, scope1]
appJoin client:HoldData:client6 scope:HoldData:scope1
before:[conn6, conn5, client5, client6, scope3, scope1]
after:[conn6, conn5, client5, client6, scope3, scope1]
roomConnect conn:HoldData:conn6 conn2:HoldData:conn6
before:[conn6, conn5, client5, client6, scope3, scope1]
after:[conn6, conn5, client5, client6, scope3, scope1]
roomJoin client:HoldData:client6 scope:HoldData:scope3
before:[conn6, conn5, client5, client6, scope3, scope1]
after:[conn6, conn5, client5, client6, scope3, scope1]
切断6
roomDisconnect conn:HoldData:conn6 conn2:HoldData:conn6
before:[conn6, conn5, client5, client6, scope3, scope1]
after:[conn6, conn5, client5, client6, scope3, scope1]
roomLeave client:HoldData:client6 scope:HoldData:scope3
before:[conn6, conn5, client5, client6, scope3, scope1]
after:[conn6, conn5, client5, client6, scope3, scope1]
appDisconnect conn:HoldData:conn6 conn2:HoldData:conn6
before:[conn6, conn5, client5, client6, scope3, scope1]
after:[conn6, conn5, client5, client6, scope3, scope1]
appLeave client:HoldData:client6 scope:HoldData:scope1
before:[conn6, conn5, client5, client6, scope3, scope1]
after:[conn6, conn5, client5, client6, scope3, scope1]
切断5
roomDisconnect conn:HoldData:conn5 conn2:HoldData:conn5
before:[conn6, conn5, client5, client6, scope3, scope1]
after:[conn5, client5, scope3, scope1]
roomLeave client:HoldData:client5 scope:HoldData:scope3
before:[conn5, client5, scope3, scope1]
after:[conn5, client5, scope3, scope1]
roomStop scope:HoldData:scope3
before:[conn5, client5, scope3, scope1]
after:[conn5, client5, scope3, scope1]
appDisconnect conn:HoldData:conn5 conn2:HoldData:conn5
before:[conn5, client5, scope3, scope1]
after:[conn5, client5, scope3, scope1]
appLeave client:HoldData:client5 scope:HoldData:scope1
before:[conn5, client5, scope3, scope1]
after:[conn5, client5, scope3, scope1]
接続7
[ERROR] [NioProcessor-1] org.red5.io.amf.Input - Error loading class: com.taktod.red5test.Application$HoldData
roomStart scope:HoldData:scope4
before:[scope4, conn5, client5, scope3, scope1]
after:[scope4, scope1]
[INFO] [NioProcessor-1] org.red5.server.net.rtmp.RTMPHandler - Connecting to: [Scope@541b55f2 Depth = 2, Path = '/default/test', Name = '135']
appConnect conn:HoldData:conn7 conn2:HoldData:conn7
before:[scope4, conn7, scope1]
after:[scope4, conn7, scope1]
appJoin client:HoldData:client7 scope:HoldData:scope1
before:[client7, scope4, conn7, scope1]
after:[client7, scope4, conn7, scope1]
roomConnect conn:HoldData:conn7 conn2:HoldData:conn7
before:[client7, scope4, conn7, scope1]
after:[client7, scope4, conn7, scope1]
roomJoin client:HoldData:client7 scope:HoldData:scope4
before:[client7, scope4, conn7, scope1]
after:[client7, scope4, conn7, scope1]
切断7
roomDisconnect conn:HoldData:conn7 conn2:HoldData:conn7
before:[client7, scope4, conn7, scope1]
after:[client7, scope4, conn7, scope1]
roomLeave client:HoldData:client7 scope:HoldData:scope4
before:[client7, scope4, conn7, scope1]
after:[client7, scope4, conn7, scope1]
roomStop scope:HoldData:scope4
before:[client7, scope4, conn7, scope1]
after:[client7, scope4, conn7, scope1]
appDisconnect conn:HoldData:conn7 conn2:HoldData:conn7
before:[client7, scope4, conn7, scope1]
after:[client7, scope4, conn7, scope1]
appLeave client:HoldData:client7 scope:HoldData:scope1
before:[client7, scope4, conn7, scope1]
after:[client7, scope4, conn7, scope1]
放送開始実験
接続8
[INFO] [NioProcessor-1] org.red5.server.net.rtmp.RTMPHandler - Connecting to: [WebScope@32e62121 Depth = 1, Path = '/default', Name = 'test']
appConnect conn:HoldData:conn8 conn2:HoldData:conn8
before:[client7, scope4, conn7, conn8, scope1]
after:[conn8, scope1]
appJoin client:HoldData:client8 scope:HoldData:scope1
before:[client8, conn8, scope1]
after:[client8, conn8, scope1]
接続8視聴開始
[INFO] [NioProcessor-1] org.red5.server.net.rtmp.RTMPHandler - Remembering client buffer on stream: 2000
[INFO] [NioProcessor-1] org.red5.server.net.rtmp.RTMPHandler - Remembering client buffer on stream: 2000
接続9
[INFO] [NioProcessor-1] org.red5.server.net.rtmp.RTMPHandler - Connecting to: [WebScope@32e62121 Depth = 1, Path = '/default', Name = 'test']
appConnect conn:HoldData:conn9 conn2:HoldData:conn9
before:[client8, conn8, conn9, scope1]
after:[client8, conn8, conn9, scope1]
appJoin client:HoldData:client9 scope:HoldData:scope1
before:[client8, client9, conn8, conn9, scope1]
after:[client8, client9, conn8, conn9, scope1]
放送開始
[INFO] [NioProcessor-1] org.red5.server.net.rtmp.RTMPHandler - Remembering client buffer on stream: 0
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Provider connect
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Stream start
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Provider connect
streamPublishStart stream:87bc6e26-40b4-4ea3-8735-cce386d6c9de
before:[client8, client9, conn8, conn9, scope1]
after:[client8, client9, conn8, conn9, scope1]
streamBroadcastStart stream:87bc6e26-40b4-4ea3-8735-cce386d6c9de
before:[client8, client9, conn8, conn9, scope1]
after:[client8, client9, conn8, conn9, scope1]
放送停止
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Close
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Provider disconnect
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Provider disconnect
streamBroadcastClose stream:87bc6e26-40b4-4ea3-8735-cce386d6c9de
before:[client8, client9, conn8, conn9, scope1]
after:[client8, client9, conn8, conn9, scope1]
録画放送開始
[INFO] [NioProcessor-1] org.red5.server.net.rtmp.RTMPHandler - Remembering client buffer on stream: 0
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Provider connect
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Stream start
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Provider connect
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Provider connect
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Consumer connect
streamRecordStart stream:f8451502-48e6-45f2-84f1-3ccb5b7b8029
before:[client8, client9, conn8, conn9, scope1]
after:[client8, client9, conn8, conn9, scope1]
streamBroadcastStart stream:f8451502-48e6-45f2-84f1-3ccb5b7b8029
before:[client8, client9, conn8, conn9, scope1]
after:[client8, client9, conn8, conn9, scope1]
録画放送停止
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Close
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Provider disconnect
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Provider disconnect
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Provider disconnect
streamBroadcastClose stream:f8451502-48e6-45f2-84f1-3ccb5b7b8029
before:[client8, client9, conn8, conn9, scope1]
after:[client8, client9, conn8, conn9, scope1]
録画放送開始
[INFO] [NioProcessor-1] org.red5.server.net.rtmp.RTMPHandler - Remembering client buffer on stream: 0
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Provider connect
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Stream start
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Provider connect
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Provider connect
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Consumer connect
streamRecordStart stream:5a4ebd67-e3f3-4729-806a-6c0540bf6438
before:[client8, client9, conn8, conn9, scope1]
after:[client8, client9, conn8, conn9, scope1]
streamBroadcastStart stream:5a4ebd67-e3f3-4729-806a-6c0540bf6438
before:[client8, client9, conn8, conn9, scope1]
after:[client8, client9, conn8, conn9, scope1]
録画放送停止
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Close
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Provider disconnect
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Provider disconnect
[INFO] [NioProcessor-1] org.red5.server.stream.ClientBroadcastStream - Provider disconnect
streamBroadcastClose stream:5a4ebd67-e3f3-4729-806a-6c0540bf6438
before:[client8, client9, conn8, conn9, scope1]
after:[client8, client9, conn8, conn9, scope1]
切断9
appDisconnect conn:HoldData:conn9 conn2:HoldData:conn9
before:[client8, client9, conn8, conn9, scope1]
after:[client8, client9, conn8, conn9, scope1]
appLeave client:HoldData:client9 scope:HoldData:scope1
before:[client8, client9, conn8, conn9, scope1]
after:[client8, client9, conn8, conn9, scope1]
切断8
appDisconnect conn:HoldData:conn8 conn2:HoldData:conn8
before:[client8, client9, conn8, conn9, scope1]
after:[client8, conn8, scope1]
appLeave client:HoldData:client8 scope:HoldData:scope1
before:[client8, conn8, scope1]
after:[client8, conn8, scope1]
接続10
[INFO] [NioProcessor-1] org.red5.server.net.rtmp.RTMPHandler - Connecting to: [WebScope@32e62121 Depth = 1, Path = '/default', Name = 'test']
appConnect conn:HoldData:conn10 conn2:HoldData:conn10
before:[client8, conn10, conn8, scope1]
after:[conn10, scope1]
appJoin client:HoldData:client10 scope:HoldData:scope1
before:[conn10, client10, scope1]
after:[conn10, client10, scope1]
終わり
Mapに持たせたデータによると、この検証結果によると、Client、Connection、Scopeともに、必要あれば、存在し必要なければ、きちんと消えていました。
scopeデータだけは、別でおこなった回線を無理矢理引っこ抜くや、処理上で別のユーザーにちょっかいをかける。(client.disconnectを走らせる。)重い処理を実施する。
等をおこなったときに、のこったことがありました。(詳細は気が向いたら検証します。)