Visualizza Versione Completa : Problema elenco utenti
Bupsss
10-04-2004, 04:13 AM
Salve, allora da parecchi mesi, non uso flash comm. Quando ho cominciato a riusarlo ho rivisto i tutorial, ma a questo punto mi si pone un problema. vi posto un po di codice così capite mejo :)
utente_cam_so = SharedObject.getRemote("position", nc.uri, false);
user_so = SharedObject.getRemote("users_so", nc.uri, false);
utente_cam_so.onSync = function(list) {
utente._x = utente_cam_so.data.x;
utente._y = utente_cam_so.data.y;
};
user_so.onSync = function(userList) {
for (var i in users_so.data) {
if (user_so.data[i] != null) {
_root.people.push(users_so.data);
}
}
};
utente_cam_so.connect(nc);
user_so.connect(nc);
Per quanto riguarda l'oggetto utente_cam_so mi ritrovo tutto ok. Carica l'oggetto, è shared, apre la webcam e vedo tranquillamente.
Per quanto riguarda l'oggetto user_so, non fa nulla. L'oggetto pare esistere, ma non mi inserisce nulla nell'array.
Premesso che user_so.onSync l'ho presa pari pari dal tutorial. quindi sintatticamente dovrebbe essere giusta no?
Cosa ho sbagliato?
Grazie
Bupssssssssssss
Giorgio Natili
10-04-2004, 08:17 AM
<font size="2">Ciao e benvenuto,</font>
<font size="2">Secondo me sbagli il for in...</font><dir><font color="#008000">
<font color="#000000" size="2">for ( var i in users_so.data ) {</font>
<font color="#000000" size="2"></font>
<font color="#000000" size="2">if ( users_so.data[i] != null) {</font>
<font color="#000000" size="2">.....</font>
</font></dir>
Bupsss
10-04-2004, 08:34 AM
si anche secondo me. ma la cosa che mi domando è
come diamine si vede l'username???
ho una connessione di questo tipo
nc.connect("rtmp:/prova/","Bupsss");
ma come lo leggo quel parametro? come faccio a sapere cosa c'è in data?
la guida a riguardo fa non poco pena, non dice nulla.
ho provato anche a smontare i componenti, ma usano il procedimento precedente. e francamente mi sono arenato.
Non so proprio come poter visualizzare dei parametri come username o creare una lista utenti.
grazie in anticipo
flagers
10-04-2004, 08:55 AM
Anche io non uso FCS per lavoro da un po' di mesi ma vediamo un po' se riusciamo a trovare l'inghippo...
io utilizzo un file .asc lato server per recuperare quel parametro.
Se ad esempio hai un codice simile:
chat_nc.connect("rtmp:/Script_SS_chat", _level0.userName.text, 3);
//useMax è semplicemente il numero massimo di utenti permessi(puoi passare anche quel parametro nell'rtmp)
application.onConnect = function(confClient, name, useMax) {
//nelle righe successive recupero il valore name e l'ip dell'utente
combo = confClient.name+"~"+confClient.ip;
//altro codice
/*questa funzione viene chiamata dallo script nel .fla da una stringa simile "_level0.Hookup_nc.call("chatClient", null, _level0.chatIn.text);" e restituisce msg al .fla che viene poi utilizzato per fare un display tipo nickname: frase*/
confClient.chatClient = function(msg) {
msg = this.name+": "+msg+"\n";
application.chat += msg;
application.conf_so.send("chatServer", msg);
};
Questo mi serviva per creare un login utente di una piccola chat testuale e inviare ad ogni messaggio nick+frase, funziona ed è testato (anche ora ho fatto una riprova per esser sicuro)
ciao
Fabio
Bupsss
10-04-2004, 05:56 PM
uhm... ma dove va piazzato quel codice? perchè a me non fa nulla.
nemmeno da errori.
madòòòòòòòòòò sto sklerando. magari è una stronzata!!! ahuauhahuauhauhauh
cmq....se avete un esempio semplice o un tutorial passo passo, così capisco come diamine va messo sto codice.
asd!!
flagers
10-04-2004, 06:24 PM
Ma tu usi anche actionscript server side in FCS o solo actionscript client side? Quello va piazzato nel file main.asc in un file server side.
Praticamente dal file .swf (client side) effetti la connessione rtmp passando il login.
Il file main.asc (server side) riceve il valore e poi lo rispedisce al file .swf nel momento in cui invia un msg di chat. Questo è il procedimento.
Vedro' di farti un esempio .. ma stanotte
Bupsss
10-04-2004, 06:32 PM
allora
nel file swf ci piazzo
nc = new NetConnection();
nc.connect("rtmp:/prova","Bupsss");
mentre nel file main.asc ci piazzo
application.onConnect = function (clientObj,name){
trace("prova");
};
dovrebbe funzionare no? in alcuni tutorial lo usano il trace nel file main.asc
ma nulla... la cosa mi preoccupa
flagers
10-04-2004, 06:49 PM
Si il trace funziona perfettamente...
domanda... come si chiama e dove hai posizionato il file .asc?
Bupsss
10-04-2004, 06:57 PM
si chiama main.asc
e si trova in
C:\Programmi\Macromedia\Flash Communication Server MX\applications\prova
flagers
10-04-2004, 07:09 PM
OK perfetto...
ti ricordo allora che quando viene modificato un file .asc devi riavviare l'applicazione dal pannello di amministrazione di FCS, altrimenti non vedi le modifiche.
Ecco forse spiegato il motivo del mancato trace.. non puo' esser altro mi sa
Bupsss
10-04-2004, 07:29 PM
niente da fare. continua a non funzionare
ufffffffffffff
flagers
10-04-2004, 07:35 PM
Se non riesci a far funzionare il trace è impossibile far funzionare il resto... mi sa che non prende proprio il comando per qualche motivo che è impossibile per me individuare cosi su due piedi.
C'è qualche problema con FCS mi sa... prova a chiudere e riavviare il server.. il trace DEVE andare.
Cmq ripeto... ho anche io problemi nel testare gli script .asc quando li modifico. Nel senso che ogni volta è obbligatoria la chiusura e riavvio dell'applicazione da pannello di amministrazione di FCS altrimenti non si refreshano i files... vedi sempre gli script vecchi...
pero' nel tuo pc non saprei che dire.. non saprei come provare ....
naturalmente parlo di FCS versione 1.5. Se non sbaglio tu sul server pero' utilizzavi la 1.0. O sbaglio? Non c'entra con il discorso del trace ma era cmq importante che tu avessi la 1.5
Giorgio Natili
10-04-2004, 07:52 PM
Ciao,
Forse questo (http://www.risorseflash.it/tutorial/tutorial2.asp?id=158&pagina=0) ti può aiutare... è fatto con il FlashComm 1.0 e Flash Mx!
flagers
10-04-2004, 07:57 PM
Se non dovesse andar bene quello di giorgio ho proprio fatto lo script che piu o meno ti serve (non te l'ho ancora pubblicato online perche' era un lavoro per un cliente e onestamente mi seccava).
Fammi sapere e stasera quando torno a casa vedo di togliere un po' di codice e mettere solo quello che ti serve (pero' devi risolvere quel discorso del refresh del file server side altrimenti siamo sempre li)
ciao
Fabio
flagers
10-05-2004, 04:26 AM
Prova a vedere se qui trovi qualche info in piu' a questo URL: http://echo.ryerson.ca/
Ad esempio ci sono script di chat e altre cose. Potrebbe forse servirti il seguente link, ad esempio:
http://echo.ryerson.ca/lobby_chatRooms/index.html