51 if (!static_dir.empty())
53 string script =
"Module.static_dir = '" + static_dir +
"';\n";
54 emscripten_run_script(script.c_str());
58 var WebSocketServer = require(
'websocket').server;
59 var http = require(
'http');
60 var ecstatic = require(
'ecstatic');
61 if (Module.static_dir)
64 ecstatic({root : Module.static_dir, gzip :
true});
68 var serverImpl = function(request, response){
74 var server = http.createServer(serverImpl);
75 console.log(
'try to listen on ', $0);
76 server.listen($0, function()
79 'websocket server: listening on port ' + $0);
81 console.log(
'ws: listen done ', $0);
84 wsServer =
new WebSocketServer({httpServer : server});
87 wsServer.on(
'request', function(request)
89 var connection = request.accept(
null, request.origin);
90 var client_port =
new Module.JSHubPort($1,
93 var json = JSON.stringify(
94 {type :
'gc_can_frame', data : gc_text});
95 connection.sendUTF(json);
97 console.log(
'websocket client ',
98 client_port.get_port_num(),
'connected');
99 connection.on(
'message', function(message)
103 var json = JSON.parse(message.utf8Data);
108 'This doesnt look like a valid JSON: ',
109 message.data,
' raw msg ', message);
112 if (json.type ===
'gc_can_frame')
115 client_port.recv(json.data);
119 console.log(
'Unknown type ', message.type);
122 connection.on(
'close', function(connection)
124 console.log(
'websocket client ',
125 client_port.get_port_num(),
'disconnected');
128 connection.on(
'resume', function(connection)
130 console.log(
'websocket client ',
131 client_port.get_port_num(),
' resumed');
132 client_port.resume();
134 connection.on(
'pause', function(connection)
136 console.log(
'websocket client ',
137 client_port.get_port_num(),
' paused');
140 var ignevent = function(evname)
142 connection.on(evname, function(connection)
145 'websocket ingoring event ', evname);
151 port, (
unsigned long)canHub_);