on master help sign in
fix hardcoded websocket server port
31af40cAgentM
src/bin/ProjectM36/Server/WebSocket/project-m36.js+1−1
@@ -3,7 +3,7 @@ var ProjectM36Connection = function (host, port, dbname, openCallback, errorCall
3 this.port = port
3 this.port = port
4 this.dbname = dbname
4 this.dbname = dbname
5 var connectURL = "ws://" + host + ":" + port + "/";
5 var connectURL = "ws://" + host + ":" + port + "/";
6− var socket = new WebSocket("ws://localhost:8888/");
6+ var socket = new WebSocket(connectURL);
7 var self = this;
7 var self = this;
8 socket.onopen = function(event) {
8 socket.onopen = function(event) {
9 self.socket.send("connectdb:" + self.dbname);
9 self.socket.send("connectdb:" + self.dbname);
src/bin/ProjectM36/Server/WebSocket/websocket-server.hs+8−3
@@ -5,17 +5,22 @@ import ProjectM36.Server
5import Control.Concurrent
5import Control.Concurrent
6import qualified Network.WebSockets as WS
6import qualified Network.WebSockets as WS
7import Network.Transport.TCP (decodeEndPointAddress)
7import Network.Transport.TCP (decodeEndPointAddress)
8+import Debug.Trace
8
9
9main :: IO ()
10main :: IO ()
10main = do
11main = do
11 -- launch normal project-m36-server
12 -- launch normal project-m36-server
12 addressMVar <- newEmptyMVar
13 addressMVar <- newEmptyMVar
13 serverConfig <- parseConfig
14 serverConfig <- parseConfig
15+ --usurp the serverConfig for our websocket server and make the proxied server run locally
14− let serverHost = bindHost serverConfig
16+ let wsHost = bindHost serverConfig
17+ wsPort = bindPort serverConfig
18+ serverHost = "127.0.0.1"
19+ serverConfig' = serverConfig {bindPort = 0, bindHost = serverHost}
15− _ <- forkFinally (launchServer serverConfig (Just addressMVar)) failureHandler
20+ _ <- forkFinally (launchServer serverConfig' (Just addressMVar)) failureHandler
16 --wait for server to be listening
21 --wait for server to be listening
17 address <- takeMVar addressMVar
22 address <- takeMVar addressMVar
18 let Just (_, serverPort, _) = decodeEndPointAddress address
23 let Just (_, serverPort, _) = decodeEndPointAddress address
19 --this built-in server is apparently not meant for production use, but it's easier to test than starting up the wai or snap interfaces
24 --this built-in server is apparently not meant for production use, but it's easier to test than starting up the wai or snap interfaces
20− WS.runServer "0.0.0.0" 8888 (websocketProxyServer (read serverPort) serverHost)
25+ WS.runServer (traceShowId wsHost) (traceShowId (fromIntegral wsPort)) (websocketProxyServer (read serverPort) serverHost)
21
26