Domanda

Ecco il mio problema: ho un oggetto NetConnection connesso a un server. In cima creo un oggetto NetStream e ha iniziato a riprodurre un file dal server. Classic finora.

Quello che ho bisogno ora, è quello di essere in grado di inviare un po 'di (breve) i messaggi al server, in vari momenti durante la ricreazione, ma, chiaramente, utilizzando la connessione TCP esistente .

Da quello che posso leggere la documenti , i supporti oggetto NetConnection sottostanti "connessione bidirezionale tra un client e un server" e ovviamente supporti strato TCP esso. Sono a conoscenza di concetti TCP networking abbastanza bene, ma sicuramente non di come Flash attrezzi li.

  1. È corretto? Può essere fatto usando NetConnection (o qualche altro meccanismo)?

  2. Come potrei fare per fare questo (un esempio sarebbe grande, ma una descrizione concettuale del processo avrebbe funzionato altrettanto bene). Esattamente come faccio a inviare un messaggio dal client al server tramite NetConnection?

  3. Il NetStream attiva interferisce in alcun modo con una tale operazione?

Grazie.

È stato utile?

Soluzione

Sì, è possibile.

presumo, stiamo parlando di connessione a Flash Media Server.

Usa NetConnection.call il metodo (), che esegue in remoto metodo di script lato server.

public function call(command:String, responder:Responder, ... arguments):void

È necessario definire questo metodo server-side come un prototipo di classe di cliente collegamento

per es.

Client.prototype.MyMethod = function(arg)
{
trace("Server received " + arg + "\n");
}

Quindi chiamare questo metodo dovrebbe essere simile:

var nc:NetConnection;

//initialize net connection and connect

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

Se avete bisogno di ottenere qualche risultato -. Uso Responder istanza della classe, invece di null

Se avete bisogno di server per la funzione di chiamata di metodo cliente utilizzo sul lato server "chiamata" a oggetto client. In questo caso si dovrà definire un oggetto al lato client, che vanta il metodo di callback:

lato client:

var obj = new Object();
obj.MyCallback = function(arg:Object)
{
trace ("Received message from server: " + arg as String);
}
nc.client = obj;

Lato server:

clientObject.call("MyCallback", null, "Hello, client");

Saluti, David.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top