0

我是这里的新用户。我是 FMS 的新手。关于在实时视频聊天应用程序中从一个用户向另一个用户发送文本数据消息,我想问一个问题。我想使用带有 rtmfp 的 Flash Media Server 创建一个视频聊天应用程序。例如,我希望我的用户在一对一的私人聊天室中来回发送消息,而不是向群组中订阅的每个人发送数据。我正在考虑为此使用远程 ShardeObject,但是 SharedObjects 向所有成员广播消息,这不是我想要的。问题,您可以使用共享对象向特定客户端发送数据消息吗?或者,我是否真的应该考虑使用 NetStream.send 方法或 NetGroup 的 sendToNearest 方法?谢谢阿什利

4

1 回答 1

0

您可以使用不同的共享对象,每次两个用户之间有新聊天时创建一个新对象。

但另一种选择是使用call()您的NetConnection.

假设您在服务器上实现了一个方法“sendMessage()”,如下所示:

Client.prototype.sendMessage = function(clientID, message)
{
    for (var i = 0; i < application.clients.length; i++)
    {
        var client = application.clients[i];
        if (client.id === clientID)
        {
            client.call("handleMessage", null, message);
        }
    }
}

然后,您可以在客户端执行此操作:

    connection.client = this;

[...]

public function sendMessage(message:String):void
{
    connection.call("sendMessage", null, clientID, message);
}

public function handleMessage(message:String):void
{
    // message sent from server
}
于 2013-03-28T09:32:13.147 回答