Skip to content
代码片段 群组 项目
提交 c95de88e 编辑于 作者: Timotej Ecimovic's avatar Timotej Ecimovic
浏览文件

Add the API to retrieve sockets by session key.

上级 db48aca0
No related branches found
No related tags found
无相关合并请求
......@@ -60,9 +60,7 @@ function httpGetPreviewName(db) {
var sessionId = request.session.zapSessionId
generationEngine
.generateSingleFileForPreview(db, sessionId, request.params.name)
.then((previewObject) => {
return response.json(previewObject)
})
.then((previewObject) => response.json(previewObject))
}
}
......@@ -75,9 +73,9 @@ function httpGetPreviewName(db) {
function httpGetPreview(db) {
return (request, response) => {
var sessionId = request.session.zapSessionId
queryPackage.getSessionGenTemplates(db, sessionId).then((previewObject) => {
return response.json(previewObject)
})
queryPackage
.getSessionGenTemplates(db, sessionId)
.then((previewObject) => response.json(previewObject))
}
}
......
......@@ -33,6 +33,8 @@ var eventEmitter = new events.EventEmitter()
const doTicks = true
const tickDelayMs = 1000
var wsServer = null
/**
* Initialize a websocket, and register listeners to the
* websocket connection and the message receipt.
......@@ -40,7 +42,7 @@ const tickDelayMs = 1000
* @param {*} httpServer
*/
function initializeWebSocket(httpServer) {
var wsServer = new ws.Server({ noServer: true })
wsServer = new ws.Server({ noServer: true, clientTracking: true })
wsServer.on('connection', (socket, request) => {
socket.sessionKey = util.getSessionKeyFromCookieValue(
request.headers.cookie
......@@ -83,6 +85,19 @@ function initializeWebSocket(httpServer) {
})
}
/**
* Method that returns the websocket for a given session key.
*
* @param {*} sessionKey
*/
function clientSocket(sessionKey) {
if (wsServer == null) return null
wsServer.clients.forEach((socket) => {
if (socket.sessionKey == sessionKey) return socket
})
return null
}
function sendTick(socket) {
sendWebSocketData(socket, dbEnum.wsCategory.tick, socket.tickCounter++)
}
......@@ -137,3 +152,4 @@ function onWebSocket(category, listener) {
exports.initializeWebSocket = initializeWebSocket
exports.sendWebSocketMessage = sendWebSocketMessage
exports.sendWebSocketData = sendWebSocketData
exports.clientSocket = clientSocket
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册