Expand my Community achievements bar.

July 31st AEM Gems Webinar: Elevate your AEM development to master the integration of private GitHub repositories within AEM Cloud Manager.

ping / latency

Avatar

Level 4

i want to display the latency information for each user in a room.  i see that UserDescriptor has a latency and drops property, but it looks like that's only for round trip between the user and the server.  this is fine is everyone is connected hub and spoke, but if they're P2P connections, i need to measure the latency between each separate user connection.

is there a pre-existing function for this? if so, i can't find it.  do i need to build my own user-to-user ping mechanism for measuring latency between p2p users?

2 Replies

Avatar

Employee

I suspect this feature does not exist. We relay on the server to return latency information (it's a feature provided by Flash Media Server and we just display it).

I am guessing there is nothing in the FlashPlayer that provides the same feature for p2p connections (but we'll have to verify with the FlashPlayer engineers)

Avatar

Level 4

i guessed this and so built my own ping mechanism. i created a CollectionNode and a Node to pass ping messages. in the NodeConfiguration, i set allowPrivateMessages=true and p2pDataMessaging=true.

i'm also enforcing the room to be p2p only (i check for isRTMFP when sync completes). do the above steps ensure that the collectionNode.publishItem() calls are being passed via p2p and not through FMS?

second question : setting MessageItem.recipientID is the way to send a private message from one user to another, correct? i'm setting that, but onItemRecieve() seems to be getting every message, even if MessageItem.recipientID does not match the user's ID.