rendered paste bodyfunction getPageContent(){ var listener = { finished : function(data){ //data; alert(listener.data); dump(data); } } //var room = document.getElementById("lechat"); //room.value = data+"\n"; var textentry = document.getElementById('msgbox'); var mename = document.getElementById('namebox'); readAllFromSocket("127.0.0.1",9999,textentry.value,mename.value,"1",listener); //alert(listener);}/*var mlistener = { finished : function(data){ //data; //alert(data); dump(data); } }*/var host = '127.0.0.1';var port = 9999;var transportService = Components.classes["@mozilla.org/network/socket-transport-service;1"].getService(Components.interfaces.nsISocketTransportService); //alert(transportService);var transport = transportService.createTransport(null,0,host,port,null); //alert(transport);var outstream = transport.openOutputStream(0,0,0);//Components.interfaces.nsITransport.OPEN_BLOCKING,4096,0);//Components.interfaces.nsITransport.OPEN_UNBUFFERED); //alert(outstream); //make append name to output data...little trick...use ID number to associate so that it does not repeat to the same id...function writesock(myid,myname,outputData){var NewOuptutData = myid + "|" + myname + "|" + outputData;// + "\r\n"; //alert(NewOuptutData);outstream.write(NewOuptutData,NewOuptutData.length);} //alert(outstream);function write_it(){ var txtbx = document.getElementById('msgbox'); var nmbox = document.getElementById('namebox'); var mynum = "1"; writesock(mynum,nmbox.value,txtbx.value); readAllFromSocket();} function readAllFromSocket(listener){ try { var stream = transport.openInputStream(0,0,0);//Components.interfaces.nsITransport.OPEN_BLOCKING,4096,0);//Components.interfaces.nsITransport.OPEN_UNBUFFERED,null,null); //alert(stream); var instream = Components.classes["@mozilla.org/scriptableinputstream;1"].createInstance(Components.interfaces.nsIScriptableInputStream); //alert(instream); instream.init(stream); //alert(instream.read(-1)); //alert(instream); 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); dump(this.data); var meroom = document.getElementById("lechat"); meroom.value += this.data +"\r\n"; //alert }, }; //alert(dataListener.data); var pump = Components.classes["@mozilla.org/network/input-stream-pump;1"].createInstance(Components.interfaces.nsIInputStreamPump); pump.init(stream, -1, -1, 0, 0, false); pump.asyncRead(dataListener,null); //alert(dataListener.data); } catch (ex){ alert("error" + ex.result + ": " + ex.message); return ex; } return null;}