New Sever hosting and KeepAlive

This commit is contained in:
Peccin 2022-11-18 23:06:40 -03:00
parent 42af23d7da
commit a70f3d5f72
8 changed files with 26 additions and 10 deletions

View file

@ -49,7 +49,8 @@ Javatari = {
IMAGES_PATH: window.JAVATARI_IMAGES_PATH || "images/",
PAGE_BACK_CSS: "", // CSS to modify page background color. Applied to the body element
WEB_EXTENSIONS_SERVER: "webmsx.herokuapp.com", // Server address for NetPlay
SERVER_ADDRESS: "webmsx.azurewebsites.net/",
SERVER_KEEPALIVE: 0,
RESET: 0, // if value = 1 clear all saved data on the client
ALLOW_URL_PARAMETERS: true // Allows user to override any of these parameters via URL query parameters

View file

@ -30,6 +30,9 @@ Javatari.start = function (consolePowerOn) {
// Prepare ROM Database
jt.CartridgeDatabase.uncompress();
// Init KeepAlive
jt.NetClient.initKeepAlive();
// NetPlay! auto-join Session?
var joinSession = Javatari.NETPLAY_JOIN;

View file

@ -27,7 +27,7 @@ jt.NetClient = function(room) {
room.enterNetPendingMode(this);
if (!ws) {
ws = new WebSocket("wss://" + Javatari.WEB_EXTENSIONS_SERVER);
ws = new WebSocket("wss://" + Javatari.SERVER_ADDRESS);
ws.onmessage = onSessionMessage;
ws.onopen = onSessionServerConnected;
ws.onclose = onSessionServerDisconnected;
@ -278,3 +278,16 @@ jt.NetClient = function(room) {
var DATA_CHANNEL_FRAG_END = "#@FrgE@#";
};
jt.NetClient.initKeepAlive = function() {
if (Javatari.SERVER_ADDRESS && Javatari.SERVER_KEEPALIVE) jt.NetClient.sendKeepAlive();
};
jt.NetClient.sendKeepAlive = async function() {
try {
await fetch("https://" + Javatari.SERVER_ADDRESS + "/keepalive", { mode: "no-cors" });
} catch(e) {
jt.Util.error("Sending KeepAlive: ", e);
}
if (Javatari.SERVER_KEEPALIVE > 0) setTimeout(jt.NetClient.sendKeepAlive, Javatari.SERVER_KEEPALIVE);
};

View file

@ -24,7 +24,7 @@ jt.NetServer = function(room) {
wsOnly = wsOnlyAsked;
if (!ws) {
ws = new WebSocket("wss://" + Javatari.WEB_EXTENSIONS_SERVER);
ws = new WebSocket("wss://" + Javatari.SERVER_ADDRESS);
ws.onmessage = onSessionMessage;
ws.onopen = onSessionServerConnected;
ws.onclose = onSessionServerDisconnected;

View file

@ -40,13 +40,13 @@ jt.MultiDownloader = function (urlSpecs, onAllSuccess, onAnyError, timeout) {
req.open("GET", finalUrl, true);
req.responseType = "arraybuffer";
req.timeout = timeout !== undefined ? timeout : DEFAULT_TIMEOUT;
req.onload = function (ev) {
req.onload = function () {
if ((req.status === 200 || req.status === 0) && req.response)
loadSuccess(urlSpec, f, new Uint8Array(req.response));
else
req.onerror(ev);
req.onerror();
};
req.onerror = req.ontimeout = function (ev) {
req.onerror = req.ontimeout = function () {
loadError(urlSpec, "" + req.status + " " + req.statusText);
};
jt.Util.log("Reading file from: " + url);
@ -100,7 +100,7 @@ jt.MultiDownloader = function (urlSpecs, onAllSuccess, onAnyError, timeout) {
}
function proxyze(url) {
return Javatari.WEB_EXTENSIONS_PROXY_SERVER ? "https://" + Javatari.WEB_EXTENSIONS_PROXY_SERVER + "/proxy-remote-download?url=" + url : url;
return Javatari.PROXY_SERVER_ADDRESS ? "https://" + Javatari.PROXY_SERVER_ADDRESS + "/proxy-remote-download?url=" + url : url;
}
function scheduleLoadingIcon() {

View file

@ -233,7 +233,7 @@
<div id="footer-space"></div>
<div id="footer">
<div class="container">
<script>Javatari.WEB_EXTENSIONS_PROXY_SERVER = Javatari.WEB_EXTENSIONS_SERVER;</script>
<script>Javatari.PROXY_SERVER_ADDRESS = Javatari.SERVER_ADDRESS;</script>
<p><span>Created by <a href="http://twitter.com/ppeccin" target="_blank">Paulo A. Peccin</a></span>
<span class="toright">Atari, VCS and the Atari logo are shown here as a tribute.</span></p>
<p><span>v5.0.3 &nbsp;<a href="https://github.com/ppeccin/javatari.js" target="_blank">Docs & Project Home</a></span>

View file

@ -37,7 +37,7 @@
<div id="footer-space"></div>
<div id="footer">
<div class="container">
<script>Javatari.WEB_EXTENSIONS_PROXY_SERVER = Javatari.WEB_EXTENSIONS_SERVER;</script>
<script>Javatari.PROXY_SERVER_ADDRESS = Javatari.SERVER_ADDRESS;</script>
<p><span>Created by <a href="http://twitter.com/ppeccin" target="_blank">Paulo A. Peccin</a></span>
<span class="toright">Atari, VCS and the Atari logo are shown here as a tribute.</span></p>
<p><span>v5.0.3 &nbsp;<a href="https://github.com/ppeccin/javatari.js" target="_blank">Docs & Project Home</a></span>

View file

@ -129,7 +129,6 @@
<script>
Javatari.AUTO_POWER_ON_DELAY = 0;
Javatari.WEB_EXTENSIONS_SERVER = "webmsx.herokuapp.com";
// Javatari.CARTRIDGE_URL = "roms/Pitfall.bin";
</script>