Returns a WebServer object.
For more information in the detailed docs see CreateWebServer
sock = app.CreateWebServer(
port,
options ) →
app object - WebServer
Example - Example
function OnStart()
{
var ip = app.GetIPAddress();
if( ip == "0.0.0.0" )
{
alert( "Please Enable Wi-Fi" );
app.Exit();
}
lay = app.CreateLayout( "linear", "VCenter,FillXY" );
var s = "Type the following address into your" +
" browser\n\n" + ip +":8080";
txt = app.CreateText( s, 0.8, 0.5, "MultiLine" );
txt.SetTextSize( 22 );
lay.AddChild( txt );
app.AddLayout( lay );
serv = app.CreateWebServer( 8080 );
serv.SetFolder( "/sdcard/DroidScript" );
serv.Start();
}
Example - Example
function OnStart()
{
var ip = app.GetIPAddress();
if( ip == "0.0.0.0" )
{
alert( "Please Enable Wi-Fi" );
app.Exit();
}
lay = app.CreateLayout( "linear", "VCenter,FillXY" );
var s = "Type the following address into your" +
" browser\n\n" + ip +":8080";
txt = app.CreateText( s, 0.8, 0.5, "MultiLine" );
txt.SetTextSize( 22 );
lay.AddChild( txt );
app.AddLayout( lay );
serv = app.CreateWebServer( 8080, "Upload,ListDir" );
serv.SetFolder( "/sdcard/DroidScript" );
serv.AddServlet( "/message", OnServlet );
serv.Start();
}
function OnServlet( request, info )
{
serv.SetResponse( "Got it!" );
app.ShowPopup( info.remoteAddress + " says: " + request.msg );
}
Example - index.html
<html>
<head>
<title>WebSockets Demo</title>
<script>
var count = 0;
//Connect to server via web sockets.
function Connect()
{
//Check web sockets are supported.
if (!window.WebSocket)
{
alert("WebSocket not supported by this browser");
return;
}
//Open web socket to phone.
ws = new WebSocket( "ws://"+window.location.host );
ws.onopen = ws_onopen;
ws.onmessage = ws_onmessage;
ws.onclose = ws_onclose;
ws.onerror = ws_onerror;
}
//Send a message to the server.
function Send()
{
ws.send( "Hello " + count++ );
}
//Handle socket open.
function ws_onopen()
{
id_info.innerHTML = "Socket Open";
}
//Handle messages from phone.
function ws_onmessage( msg )
{
id_info.innerHTML = msg.data;
}
//Other websocket callbacks.
function ws_onclose()
{
id_info.innerHTML = "Socket Closed";
}
function ws_onerror(e)
{
id_info.innerHTML = "Socket Error: " + e.data;
}
</script>
</head>
<body>
<h2>DroidScript WebSockets Demo</h2>
<div id="id_info">Ready</div>
<button onclick="Connect()">Connect</button>
<button onclick="Send()">Send Message</button>
</body>
</html>
Example - WebSockets.js
// Init variables.
var count = 0;
// Called when application is started.
function OnStart()
{
// Check wifi is enabled.
ip = app.GetIPAddress();
if( ip == "0.0.0.0" ) {
app.ShowPopup( "Please Enable Wi-Fi" );
app.Exit();
}
// Prevent wifi from powering down.
app.PreventWifiSleep();
// Create a layout with objects vertically centered.
lay = app.CreateLayout( "linear", "VCenter,FillXY" );
// Create a text label and add it to layout.
var s = "Type the following address into your" +
" browser(s)\n\n" + ip +":8080";
txt = app.CreateText( s, 0.8, 0.3, "AutoScale,MultiLine" );
txt.SetTextSize( 22 );
lay.AddChild( txt );
// Create a text label and add it to layout.
txtMsg = app.CreateText( "", 0.8, 0.3, "AutoScale,MultiLine" );
txtMsg.SetTextSize( 22 );
lay.AddChild( txtMsg );
// Create a 'Send Message' button.
btn = app.CreateButton( "Send Message", 0.4, 0.1);
btn.SetMargins( 0, 0.05, 0, 0 );
btn.SetOnTouch( SendMessage );
lay.AddChild( btn );
// Add layout to app.
app.AddLayout( lay );
// Create and run web server on port 8080.
serv = app.CreateWebServer( 8080 );
serv.SetFolder( "/sdcard/DroidScript/WebSockets" );
serv.SetOnReceive( serv_OnReceive );
serv.Start();
// Start timer to show WebSock connections.
setInterval( ShowConnections, 3000 );
}
// Show who is connected.
function ShowConnections()
{
var clients = serv.GetWebSockClients();
if( clients.length > 0 )
{
// Make a list of clients.
var list = "";
for( var i=0; i < clients.length; i++ )
{
list += clients[i].remoteAddress + "\n";
}
// Show client list.
txt.SetText( list );
}
}
// Send a message to all connected socket clients.
function SendMessage()
{
// Note: You can send to a specific client by passing
// the IP address as the second parameter.
serv.SendText( "Hello " + count++ )
}
// Called when messages arrive from websocket clients.
function serv_OnReceive( msg, ip )
{
txtMsg.SetText( ip + ": " + msg );
}
The following methods are available on the WebServer object:
Returns the control class name.
Allows access to other functions defined on the object in Java via reflection.