-
Notifications
You must be signed in to change notification settings - Fork 222
Server Application, Samples
cumulusdev edited this page Dec 1, 2012
·
13 revisions
The sources are available here: http://www.adobe.com/devnet/flashmediaserver/articles/real-time-collaboration.html
Use only the client part of these souces, and for server side create the file CumulusServer/www/meeting/main.lua with the following content:
function onStart(path)
NOTE("Application '"..path.."' started")
end
function onStop(path)
NOTE("Application '"..path.."' stopped")
end
function onConnection(client, userName, meeting)
client.userName = userName;
client.meeting = meeting;
INFO("User connected: ", client.userName , "meeting: ", client.meeting);
function client:getParticipants(meeting)
result = {}
i = 0;
for key, cur_client in cumulus.clients:pairs() do
if (cur_client.meeting == meeting) then
i = i+1;
participant = {};
participant.userName = cur_client.userName;
participant.meeting = cur_client.meeting;
if cur_client.id then
participant.protocol = 'rtmfp';
end
participant.farID = cur_client.id;
result[i] = participant;
end
end
return result;
end
function client:sendMessage(meeting, from, message)
for key, cur_client in cumulus.clients:pairs() do
if (cur_client.meeting == meeting) then
cur_client.writer:writeAMFMessage("onMessage", from, message);
end
end
end
sendParticipantUpdate(client.meeting);
end
function onDisconnection(client)
INFO("User disconnecting: "..client.userName);
sendParticipantUpdate(client.meeting);
end
function sendParticipantUpdate(meeting)
for key, cur_client in cumulus.clients:pairs() do
if (cur_client.meeting == meeting) then
cur_client.writer:writeAMFMessage("participantChanged");
end
end
end