<html>
<head>
 <meta http-equiv="Content-type" content="text/html; charset=utf-8">
 <title>js socket</title>
</head>
<body >
 <div id="status">
 </div>
 <div id="stock" style="border:3px solid; height:20px;">
 </div>

 <button onclick="startSocket();">Click Me!</button>

 <script type="text/javascript" charset="utf-8">

/*
*  Socket Fun in Javascript (FireFox Only)
*  Orginal Code : Focus
*  Midnight research Labs
*
*/

var ip="127.0.0.1";
var port="9001";

var connected = false;

//First we need to access XPCom
   try{
        
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
   }
    catch (e) {
        alert("Error: "+e);
    }

//Now we need to gain low level access to the transportService and the 
ScriptableIO
   try {
       TS  = 
Components.classes["@mozilla.org/network/socket-transport-service;1"].getService(Components.interfaces.nsISocketTransportService);
         scriptableIO = 
Components.classes["@mozilla.org/scriptableinputstream;1"].getService(Components.interfaces.nsIScriptableInputStream);
    //alert(ip);
   transport = TS.createTransport(null,0,ip,port,null);
 if(!transport) {
      //shit can't open port Time to freak out ladies and gents
        alert("Shiit can't open "+ip+" @ port "+port);

        }else{
    //alert("Transport : OK");
            connected = true;
            //Ok so now its time to grab the input stream..
         try {inFlow = transport.openInputStream( 
Components.interfaces.nsITransport.OPEN_BLOCKING, 0 ,0 );
                if(!inFlow){
                 //No Input .. Johnny 5 need input stream
                          alert("ERROR : Can't open input stream ");
                }

           outFlow = 
transport.openOutputStream(Components.interfaces.nsITransport.OPEN_BLOCKING, 
0 ,0 );
         if(!outFlow){
                 alert( "ERROR : Can't open output stream");
                 }

         } catch(e){
          alert ("Stream Error :"+e);
         }
        }


// i have a problem:
// ondataaviable ?

      var readableInput =  scriptableIO.init(inFlow);

    var crap = scriptableIO.available();

    str = scriptableIO.read(crap);
  //  alert (str);
    //Close our connection

    //WARNING WARNING WARNING
    //Nifty Trick I happened upon
    // This code will break firefox

    /*transportService.shutdown();*/

    // transport.close(0);
var outputData = '\n';
outFlow.write(outputData,outputData.length);

document.getElementById('stock').innerHTML = scriptableIO.read(crap);

    // alert (str);

   }catch(e){
   alert("ERror : "+e);
   }

 </script>
 </body>

</html>


_______________________________________________
dev-tech-network mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-network

Reply via email to