HighDots Forums  

[XUL] lavorare con le socket

Javascript (Italian) Il linguaggio JavaScript (it.comp.lang.javascript)


Discuss [XUL] lavorare con le socket in the Javascript (Italian) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
ZeD
 
Posts: n/a

Default [XUL] lavorare con le socket - 12-01-2005 , 03:09 AM






Salve a tutti. Io ho bisogno di poter mandare e ricevere stream di testo
tramite socket via javascript. Su xulplanet ho trovato qualcosa al riguardo
(nello specifico, oltre le varie pagine di reference, anche
http://xulplanet.com/tutorials/mozsdk/sockets.php ) tuttavia... non
funziona.
Il codice e' questo:

function getPageContent() {
var listener = {
finished : function(data){
dump(data);
}
}
readAllFromSocket("www.mozilla.org",80,"GET / HTTP/1.0\n\n",listener);
}

function readAllFromSocket(host,port,outputData,listener) {
try {
var transportService =
Components.classes["@mozilla.org/network/socket-transport-service;1"]
.getService(Components.interfaces.nsISocketTranspo rtService);
var transport =
transportService.createTransport(null,0,host,port, null);
var outstream = transport.openOutputStream(0,0,0);
outstream.write(outputData,outputData.length);
var stream = transport.openInputStream(0,0,0);
var instream =
Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptabl eInputStream);
instream.init(stream);
var dataListener = {
data : "",
onStartRequest: function(request, context){},
onStopRequest: function(request, context, status){
instream.close();
outstream.close();
listener.finished(this.data);
},
onDataAvailable: function(request, context, inputStream,
offset, count) {
this.data += instream.read(count);
},
};
var pump = Components.
classes["@mozilla.org/network/input-stream-pump;1"].
createInstance(Components.interfaces.nsIInputStrea mPump);
pump.init(stream, -1, -1, 0, 0, false);
pump.asyncRead(dataListener,null);
} catch (ex){
return ex;
}
return null;
}


Cioe', provo a copiare paro paro l' esempio, e faccio un bottoncino che
all'"oncommand" dovrebbe eseguire il comando, ma non succede niente. Provo
a sostituire il "dump(data)" in getPageContent (che, se ho capito bene,
dovrebbe mandare sullo STDOUT il testo?) con un alert... e niente!


Magari sono tonto io e piu' che come aprire/chiudere/leggere da/scrivere su
le socket e' che non capisco come funzioni quello streamPump...
Insomma, io vorrei poter creare l' equivalente di un netcat (o telnet, se
preferite...)

Una finestrella con 2 lineinput (per inserire indirizzo e porta) e 2
textbox, una dove incollare il testo da mandere all'indirizzo, e l' altra
dove compare quello che viene dall'indirizzo come risposta...



Scusate se il post e' un po' strano, ma mi sono fatto la nottata...
buonanotte...

--
Firma in costruzione


Reply With Quote
  #2  
Old   
ZER0
 
Posts: n/a

Default Re: [XUL] lavorare con le socket - 12-01-2005 , 06:44 AM






On Thu, 01 Dec 2005 08:09:58 GMT, ZeD wrote:

Quote:
Cioe', provo a copiare paro paro l' esempio, e faccio un bottoncino che
all'"oncommand" dovrebbe eseguire il comando, ma non succede niente.
Sostituisci il "return ex;" con un "throw ex;", altrimenti è normale che
non succede niente. Probabilmente va in errore, ma non venendo rilanciato
non lo vedi.

Quote:
a sostituire il "dump(data)" in getPageContent (che, se ho capito bene,
dovrebbe mandare sullo STDOUT il testo?)
Devi eseguire il browser mettendo "-console" come parametro (e impostare a
"true" l'attributo "browser.dom.window.dump.enabled" nell'about:config).

Quote:
Scusate se il post e' un po' strano, ma mi sono fatto la nottata...
buonanotte...
Scusa la risposta non risolutiva, sfortunatamente ora non ho tempo di fare
test; ma spero che un minimo queste cose ti possano servire.

Facci sapere.

--
~ "L'arte non riproduce cio' che e' visibile,ma rende visibile cio' che
non sempre lo e'" (Paul Klee)



Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.