for the textchat example, is there a difference between
client1 connects to:
rtmp://localhost/textchat and using sharedobject “r1”
client2 connects to:
rtmp://localhost/textchat and using sharedobject “r2”
and
client1 connects to:
rtmp://localhost/textchat/r1 and using sharedobject “r”
client2 connects to:
rtmp://localhost/textchat/r2 and using sharedobject “r”
cuz for the user it looks kinda the same thing, it a different collection of messages in the chat box in both cases
Wowza and FMS are based on an application instance context. So the namespace for streaming and shared objects is at the application instance level. An rtmp url is broken down as follows:
rtmp://[domain]:[port]/[application]/[appInstance]
So the url:
rtmp://localhost/textchat
Is actually expanded to:
rtmp://localhost/textchat/definst
Where (definst) is the default application instance name.
So that is why connecting using the two different url produces separate shared objects. It is because you are connecting to different application instances which each have their own shared object name space.
Charlie
Charlie
It is probably best performance-wise to use separate application instances. It will use a bit more memory since each application instance takes up memory.
Charlie
At a functional level there really is no difference. They are different shared objects. In one case they differ in name but are attached to the same application instance. In the other case they share the same name but are running in different application instances. That is the difference.
Charlie
They way you have it now, nobody is chatting.
In this example, both clients are connected to the same application instance (“definst”), but are using different shared objects. They should sync to the same shared object if you want them to chat.
client1 connects to:
rtmp://localhost/textchat and using sharedobject “r1”
client2 connects to:
rtmp://localhost/textchat and using sharedobject “r2”
In this example each client is connecting to a different application instance (r1 and r2). They are both using a shared object with the same name, but it is not the same one because they are in different instances.
client1 connects to:
rtmp://localhost/textchat/r1 and using sharedobject “r”
client2 connects to:
rtmp://localhost/textchat/r2 and using sharedobject “r”
Richard
I’m very sorry, I didn’t wrote what I actually meant, I have (edited) corrected my question, could you please look again
yes, I know they are not going to be able to chat, I just wanted to know wheter if there is any difference between using a different sharedobject or different application instance
so if I’m doing an application where there should be chat rooms, I can use either way, there is not going to be any difference in speed or memory usage or anything else ?