Commit 8c8f8e36 authored by yann300's avatar yann300

close listening to 65520

parent 40ebee6d
...@@ -42,7 +42,7 @@ if (program.sharedFolder) { ...@@ -42,7 +42,7 @@ if (program.sharedFolder) {
console.log('\x1b[33m%s\x1b[0m', '[WARN] Any application that runs on your computer can potentially read from and write to all files in the directory.') console.log('\x1b[33m%s\x1b[0m', '[WARN] Any application that runs on your computer can potentially read from and write to all files in the directory.')
console.log('\x1b[33m%s\x1b[0m', '[WARN] Symbolinc links are not forwarded to Remix IDE\n') console.log('\x1b[33m%s\x1b[0m', '[WARN] Symbolinc links are not forwarded to Remix IDE\n')
var router = new Router() var router = new Router()
router.start(program.sharedFolder) killCallBack.push(router.start(program.sharedFolder))
} }
// kill // kill
......
...@@ -3,13 +3,19 @@ var Websocket = require('./websocket') ...@@ -3,13 +3,19 @@ var Websocket = require('./websocket')
class Router { class Router {
start (sharedFolder) { start (sharedFolder) {
this.websocket = new Websocket() var websocket = new Websocket()
this.websocket = websocket
this.websocket.start((message) => { this.websocket.start((message) => {
this.call(message.id, message.service, message.fn, message.args) this.call(message.id, message.service, message.fn, message.args)
}) })
servicesList['sharedfolder'].setupNotifications(this.websocket, sharedFolder) servicesList['sharedfolder'].setupNotifications(this.websocket, sharedFolder)
servicesList['sharedfolder'].sharedFolder(sharedFolder) servicesList['sharedfolder'].sharedFolder(sharedFolder)
console.log('Shared folder : ' + sharedFolder) console.log('Shared folder : ' + sharedFolder)
return function () {
if (websocket) {
websocket.close()
}
}
} }
call (callid, name, fn, args) { call (callid, name, fn, args) {
......
...@@ -8,18 +8,18 @@ class WebSocket { ...@@ -8,18 +8,18 @@ class WebSocket {
} }
start (callback) { start (callback) {
var server = http.createServer(function (request, response) { this.server = http.createServer(function (request, response) {
console.log((new Date()) + ' Received request for ' + request.url) console.log((new Date()) + ' Received request for ' + request.url)
response.writeHead(404) response.writeHead(404)
response.end() response.end()
}) })
var loopback = '127.0.0.1' var loopback = '127.0.0.1'
server.listen(65520, loopback, function () { this.server.listen(65520, loopback, function () {
console.log((new Date()) + ' Remixd is listening on ' + loopback + ':65520') console.log((new Date()) + ' Remixd is listening on ' + loopback + ':65520')
}) })
this.wsServer = new WebSocketServer({ this.wsServer = new WebSocketServer({
httpServer: server, httpServer: this.server,
autoAcceptConnections: false autoAcceptConnections: false
}) })
...@@ -53,6 +53,17 @@ class WebSocket { ...@@ -53,6 +53,17 @@ class WebSocket {
send (data) { send (data) {
this.connection.sendUTF(data) this.connection.sendUTF(data)
} }
close () {
if (this.connection) {
this.connection.close()
this.connection = null
}
if (this.server) {
this.server.close()
this.server = null
}
}
} }
function originIsAllowed (origin) { function originIsAllowed (origin) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment