for the textchat example: is there a difference between ...

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”

:confused:

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 ?