diff options
| author | RblSb <msrblsb@gmail.com> | 2020-02-24 15:07:37 +0300 |
|---|---|---|
| committer | RblSb <msrblsb@gmail.com> | 2020-02-24 15:07:37 +0300 |
| commit | 2d2fe59eca303e2fe0ea36f831482bf10d8bb058 (patch) | |
| tree | 9d11b7db916c9bf1aeef48b3fac0fec68f58acea | |
| parent | 5ff624a196b3603983052b2139eefe788413e2f1 (diff) | |
Wow, same port for ws
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | build/server.js | 26 | ||||
| -rw-r--r-- | res/client.js | 12 | ||||
| -rw-r--r-- | src/client/Main.hx | 13 | ||||
| -rw-r--r-- | src/server/Main.hx | 11 |
5 files changed, 35 insertions, 29 deletions
@@ -12,7 +12,7 @@ Even if some original features are not implemented yet, there is some new things - Updated Des theme
### Setup
-- Open `4200` and `4201` ports in your router settings
+- Open `4200` port in your router settings
- `npm install ws`
- Run `node build/server.js`
- Open showed "Local" link for yourself and send "Global" link to friends
diff --git a/build/server.js b/build/server.js index 09a3071..72d8eab 100644 --- a/build/server.js +++ b/build/server.js @@ -633,9 +633,6 @@ server_HttpServer.getMimeType = function(ext) { return contentType; }; var server_Main = function(port,wsPort) { - if(wsPort == null) { - wsPort = 4201; - } if(port == null) { port = 4200; } @@ -654,8 +651,6 @@ var server_Main = function(port,wsPort) { this.statePath = "" + this.rootDir + "/user/state.json"; this.config = this.getUserConfig(); this.loadState(); - this.wss = new js_npm_ws_Server({ port : wsPort}); - this.wss.on("connection",$bind(this,this.onConnect)); var exit = function() { _gthis.saveState(); process.exit(); @@ -665,13 +660,13 @@ var server_Main = function(port,wsPort) { process.on("SIGUSR1",exit); process.on("SIGUSR2",exit); process.on("uncaughtException",function(err) { - haxe_Log.trace(err,{ fileName : "src/server/Main.hx", lineNumber : 54, className : "server.Main", methodName : "new"}); + haxe_Log.trace(err,{ fileName : "src/server/Main.hx", lineNumber : 52, className : "server.Main", methodName : "new"}); _gthis.logError("uncaughtException",{ message : err.message, stack : err.stack}); exit(); return; }); process.on("unhandledRejection",function(reason,promise) { - haxe_Log.trace("Unhandled Rejection at:",{ fileName : "src/server/Main.hx", lineNumber : 62, className : "server.Main", methodName : "new", customParams : [reason]}); + haxe_Log.trace("Unhandled Rejection at:",{ fileName : "src/server/Main.hx", lineNumber : 60, className : "server.Main", methodName : "new", customParams : [reason]}); _gthis.logError("unhandledRejection",reason); exit(); return; @@ -681,17 +676,20 @@ var server_Main = function(port,wsPort) { this.port = port; server_Utils.getGlobalIp(function(ip) { _gthis.globalIp = ip; - haxe_Log.trace("Local: http://" + _gthis.localIp + ":" + port,{ fileName : "src/server/Main.hx", lineNumber : 72, className : "server.Main", methodName : "new"}); - haxe_Log.trace("Global: http://" + _gthis.globalIp + ":" + port,{ fileName : "src/server/Main.hx", lineNumber : 73, className : "server.Main", methodName : "new"}); + haxe_Log.trace("Local: http://" + _gthis.localIp + ":" + port,{ fileName : "src/server/Main.hx", lineNumber : 70, className : "server.Main", methodName : "new"}); + haxe_Log.trace("Global: http://" + _gthis.globalIp + ":" + port,{ fileName : "src/server/Main.hx", lineNumber : 71, className : "server.Main", methodName : "new"}); return; }); var dir = "" + this.rootDir + "/res"; server_HttpServer.init(dir,"" + this.rootDir + "/user/res"); Lang.init("" + dir + "/langs"); - js_node_Http.createServer(function(req,res) { + var server1 = js_node_Http.createServer(function(req,res) { server_HttpServer.serveFiles(req,res); return; - }).listen(port,"0.0.0.0"); + }); + server1.listen(port); + this.wss = new js_npm_ws_Server({ server : server1, port : wsPort}); + this.wss.on("connection",$bind(this,this.onConnect)); }; server_Main.__name__ = true; server_Main.main = function() { @@ -711,7 +709,7 @@ server_Main.prototype = { var field = _g1[_g]; ++_g; if(Reflect.field(config,field) == null) { - haxe_Log.trace("Warning: config field \"" + field + "\" is unknown",{ fileName : "src/server/Main.hx", lineNumber : 91, className : "server.Main", methodName : "getUserConfig"}); + haxe_Log.trace("Warning: config field \"" + field + "\" is unknown",{ fileName : "src/server/Main.hx", lineNumber : 92, className : "server.Main", methodName : "getUserConfig"}); } config[field] = Reflect.field(customConfig,field); } @@ -751,7 +749,7 @@ server_Main.prototype = { var ip = req.connection.remoteAddress; var id = this.freeIds.length > 0 ? this.freeIds.shift() : this.clients.length; var name = "Guest " + (id + 1); - haxe_Log.trace("" + name + " connected (" + ip + ")",{ fileName : "src/server/Main.hx", lineNumber : 133, className : "server.Main", methodName : "onConnect"}); + haxe_Log.trace("" + name + " connected (" + ip + ")",{ fileName : "src/server/Main.hx", lineNumber : 134, className : "server.Main", methodName : "onConnect"}); var client = new Client(ws,req,id,name,0); if(req.connection.localAddress == ip) { client.group |= 4; @@ -777,7 +775,7 @@ server_Main.prototype = { return; }); ws.on("close",function(err) { - haxe_Log.trace("Client " + client.name + " disconnected",{ fileName : "src/server/Main.hx", lineNumber : 161, className : "server.Main", methodName : "onConnect"}); + haxe_Log.trace("Client " + client.name + " disconnected",{ fileName : "src/server/Main.hx", lineNumber : 162, className : "server.Main", methodName : "onConnect"}); server_Utils.sortedPush(_gthis.freeIds,client.id); HxOverrides.remove(_gthis.clients,client); _gthis.sendClientList(); diff --git a/res/client.js b/res/client.js index 4c3a8a5..9f46639 100644 --- a/res/client.js +++ b/res/client.js @@ -459,9 +459,6 @@ client_Buttons.initChatInput = function(main) { }; }; var client_Main = function(host,port) { - if(port == null) { - port = 4201; - } this.matchNumbers = new EReg("^-?[0-9]+$",""); this.onTimeGet = new haxe_Timer(2000); this.isConnected = false; @@ -479,6 +476,12 @@ var client_Main = function(host,port) { host = "localhost"; } this.host = host; + if(port == null) { + port = window.location.port; + } + if(port == "") { + port = "80"; + } this.initListeners(); this.onTimeGet.run = function() { if(_gthis.player.isListEmpty()) { @@ -641,7 +644,7 @@ client_Main.prototype = { var data = JSON.parse(e.data); var t = data.type; var t1 = t.charAt(0).toLowerCase() + HxOverrides.substr(t,1,null); - haxe_Log.trace("Event: " + data.type,{ fileName : "src/client/Main.hx", lineNumber : 193, className : "client.Main", methodName : "onMessage", customParams : [data[t1]]}); + haxe_Log.trace("Event: " + data.type,{ fileName : "src/client/Main.hx", lineNumber : 195, className : "client.Main", methodName : "onMessage", customParams : [data[t1]]}); switch(data.type) { case "AddVideo": if(this.player.isListEmpty()) { @@ -834,6 +837,7 @@ client_Main.prototype = { ,hideGuestLoginPanel: function() { window.document.querySelector("#guestlogin").style.display = "none"; window.document.querySelector("#chatline").style.display = "block"; + window.dispatchEvent(new Event("resize")); } ,updateClients: function(newClients) { this.clients.length = 0; diff --git a/src/client/Main.hx b/src/client/Main.hx index aa0a648..a95a9a2 100644 --- a/src/client/Main.hx +++ b/src/client/Main.hx @@ -2,8 +2,8 @@ package client; import haxe.Timer; import js.html.MouseEvent; -import js.html.ButtonElement; import js.html.KeyboardEvent; +import js.html.Event; import js.html.Element; import haxe.Json; import js.html.InputElement; @@ -33,11 +33,13 @@ class Main { static function main():Void new Main(); - public function new(?host:String, port = 4201) { + public function new(?host:String, ?port:String) { player = new Player(this); if (host == null) host = Browser.location.hostname; if (host == "") host = "localhost"; this.host = host; + if (port == null) port = Browser.location.port; + if (port == "") port = "80"; initListeners(); onTimeGet.run = () -> { @@ -56,7 +58,7 @@ class Main { }); } - function openWebSocket(host:String, port:Int):Void { + function openWebSocket(host:String, port:String):Void { ws = new WebSocket('ws://$host:$port'); ws.onmessage = onMessage; ws.onopen = () -> { @@ -89,8 +91,8 @@ class Main { }); } - ge("#queue_next").onclick = (e:MouseEvent) -> addVideoUrl(false); - ge("#queue_end").onclick = (e:MouseEvent) -> addVideoUrl(true); + ge("#queue_next").onclick = e -> addVideoUrl(false); + ge("#queue_end").onclick = e -> addVideoUrl(true); ge("#mediaurl").onkeydown = function(e:KeyboardEvent) { if (e.keyCode == 13) addVideoUrl(true); } @@ -361,6 +363,7 @@ class Main { function hideGuestLoginPanel():Void { ge("#guestlogin").style.display = "none"; ge("#chatline").style.display = "block"; + js.Browser.window.dispatchEvent(new Event("resize")); } function updateClients(newClients:Array<ClientData>):Void { diff --git a/src/server/Main.hx b/src/server/Main.hx index 1e2094e..b5fe3a6 100644 --- a/src/server/Main.hx +++ b/src/server/Main.hx @@ -34,14 +34,12 @@ class Main { static function main():Void new Main(); - public function new(port = 4200, wsPort = 4201) { + public function new(port = 4200, ?wsPort:Int) { final envPort = (process.env : Dynamic).PORT; if (envPort != null) port = envPort; statePath = '$rootDir/user/state.json'; config = getUserConfig(); loadState(); - wss = new WSServer({port: wsPort}); - wss.on("connection", onConnect); function exit() { saveState(); process.exit(); @@ -77,9 +75,12 @@ class Main { HttpServer.init(dir, '$rootDir/user/res'); Lang.init('$dir/langs'); - Http.createServer((req, res) -> { + final server = Http.createServer((req, res) -> { HttpServer.serveFiles(req, res); - }).listen(port); + }); + server.listen(port); + wss = new WSServer({server: server, port: wsPort}); + wss.on("connection", onConnect); } function getUserConfig():Config { |
