<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