首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以通过接收(播放) NetStream对象的底层NetStream发送消息吗?

我可以通过接收(播放) NetStream对象的底层NetStream发送消息吗?
EN

Stack Overflow用户
提问于 2010-08-21 19:53:20
回答 1查看 772关注 0票数 1

我的问题是:我有一个连接到服务器的NetConnection对象。在上面,我创建了一个NetStream对象,它开始从服务器上播放一个文件。到目前为止还很经典。

我现在需要的是能够在播放时间的不同时刻将一些(短)消息发送回服务器,但显然,可以使用现有的TCP连接发送。

根据我在医生们中可以读取的内容,底层的NetConnection对象支持“客户端和服务器之间的双向连接”,显然TCP层支持它。我很清楚TCP网络的概念,但肯定不知道Flash是如何实现它们的。

  1. 这是正确的吗?可以使用NetConnection (或其他一些机制)来完成吗?
  2. 我将如何做到这一点(举一个很好的例子,但是对这个过程的概念描述也同样有效)。如何通过NetConnection从客户端向服务器发送消息?
  3. active NetStream对象是否以任何方式干扰这样的操作?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-24 20:39:40

可以,停那儿吧。

我想,我们讨论的是与的连接。

使用NetConnection.call()方法远程执行服务器端脚本方法。

代码语言:javascript
复制
public function call(command:String, responder:Responder, ... arguments):void

您必须将此服务器端方法定义为连接客户端类的原型。

例如:

代码语言:javascript
复制
Client.prototype.MyMethod = function(arg)
{
trace("Server received " + arg + "\n");
}

然后调用此方法应该如下所示:

代码语言:javascript
复制
var nc:NetConnection;

//initialize net connection and connect

nc.call("MyMethod", null, "Hello, server");

如果您需要得到一些结果--使用Responder类实例而不是null。

如果需要服务器调用客户端的方法,则在客户端对象上使用服务器端“调用”函数。在这种情况下,您必须在客户端定义一些对象,wich有回调方法:

客户端:

代码语言:javascript
复制
var obj = new Object();
obj.MyCallback = function(arg:Object)
{
trace ("Received message from server: " + arg as String);
}
nc.client = obj;

服务器端:

代码语言:javascript
复制
clientObject.call("MyCallback", null, "Hello, client");

你好,大卫。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3538681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档