Как мне установить единое подключение для обработки видео, аудио и чата в Flex

#apache-flex #flash-media-server #netstream #shared-objects #netconnection

#apache-flex #flash-media-server #netstream #общие объекты #netconnection

Вопрос:

Я разрабатываю приложение и хочу установить одно соединение для видео (netstream) и чата (SharedObject).

У меня есть по одному соединению для каждого, но у меня ограниченное подключение, доступное на сервере, поэтому мне нужно установить единое соединение для обработки сетевого потока видео и общего объекта чата.

Я использую эти URL-адреса для подключения:

 private var serverWebcamURL:String = "rtmp://myserverIP/live";
private var serverChatURL:String = "rtmp://myserverIP/multicast/chat";
  

Что мне нужно сделать, чтобы это заработало?

Ответ №1:

Вы могли бы использовать NetStream для всего этого, если только это не «групповой» чат. Если это групповой чат, вам нужны общие объекты, если это чат один на один, вы можете использовать NetStream. Это было бы что-то вроде этого:

 var connection:NetConnection = new NetConnection();
connection.connect(yourServerIp);
var stream:NetStream = new NetStream(connection);
stream.receiveAudio(true);
stream.receiveVideo(true);
stream.attachAudio(Microphone.getMicrophone());
stream.attachVideo(Camera.getCamera());
stream.client = this; // Yous should look this up.  This is for client to client communication using a 'handler' within this class
stream.publish('media');
stream.play('media');
  

И из этого вы можете общаться друг с другом, используя функцию обмена сообщениями, подобную этой:

 private function message(someMessage:String):void
{
// do something
}
  

Теперь вам просто нужно, чтобы клиент мог отправлять сообщения следующим образом:

 stream.send('message', yourMessage);
  

Надеюсь, это поможет.

Комментарии:

1. Да, это «групповой» чат, поэтому мне нужно использовать общие объекты. Проблема в том, что я не знаю, как использовать только одно NetConnection для обработки NetStream и SharedObject. Спасибо

Ответ №2:

Вы могли бы использовать cuePoints вместо SharedObject для чата, а затем использовать одно и то же соединение для всего. Я использую только Red5, я не знаю, возможно ли это с FMS…