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); } }*/function readAllFromSocket(host,port,outputData,myname,myid,listener){ try { 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... var NewOuptutData = myid + "|" + myname + "|" + outputData;// + "\r\n"; //alert(NewOuptutData); outstream.write(NewOuptutData,NewOuptutData.length); //alert(outstream); 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(-1); alert(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, true); pump.asyncRead(dataListener,null); //alert(dataListener.data); } catch (ex){ alert("error" + ex.result + ": " + ex.message); return ex; } return null;}