Desktop Web App Websockets Clieent
This commit is contained in:
1 parent
f3a7460985
commit
a9cf324199
3 files changed
+109
No files matched your search
@@ -217,6 +217,7 @@ exports.newNetworkModulesWebSocketsClient = function newNetworkModulesWebSockets
|
||||
if (socketClient.readyState !== 1) { // 1 means connected and ready.
|
||||
console.log('[ERROR] Web Sockets Client -> sendMessage -> Cannot send message while connection is closed.')
|
||||
reject('Websockets Connection Not Ready.')
|
||||
return
|
||||
}
|
||||
|
||||
let socketMessage = {
|
||||
|
||||
@@ -1495,6 +1495,16 @@
|
||||
}
|
||||
],
|
||||
"utilities": []
|
||||
},
|
||||
"UI":{
|
||||
"modules":[
|
||||
{
|
||||
"name": "Web Sockets Client",
|
||||
"propertyName": "webSocketsClient",
|
||||
"functionName": "newSocialTradingModulesWebSocketsClient",
|
||||
"fileName": "WebSocketsClient.js"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,98 @@
|
||||
exports.newSocialTradingModulesWebSocketsClient = function newSocialTradingModulesWebSocketsClient() {
|
||||
|
||||
let thisObject = {
|
||||
sendMessage: sendMessage,
|
||||
initialize: initialize,
|
||||
finalize: finalize
|
||||
}
|
||||
|
||||
let socketClient
|
||||
|
||||
let called = {}
|
||||
|
||||
return thisObject
|
||||
|
||||
function finalize() {
|
||||
socketClient.close()
|
||||
socketClient = undefined
|
||||
clientInterface = undefined
|
||||
|
||||
called = undefined
|
||||
}
|
||||
|
||||
async function initialize() {
|
||||
|
||||
socketClient = new WebSocket('ws://' + HOST + ':' + PORT)
|
||||
|
||||
await setUpWebsocketClient()
|
||||
}
|
||||
|
||||
async function setUpWebsocketClient() {
|
||||
|
||||
return new Promise(connectToNewtwork)
|
||||
|
||||
function connectToNewtwork(resolve, reject) {
|
||||
|
||||
try {
|
||||
socketClient.onopen = () => { onConnection() }
|
||||
socketClient.onerror = err => { onError(err) }
|
||||
|
||||
function onConnection() {
|
||||
resolve()
|
||||
}
|
||||
|
||||
function onError(err) {
|
||||
console.log('[ERROR] Web Sockets Client -> onError -> err.message = ' + err.message)
|
||||
console.log('[ERROR] Web Sockets Client -> onError -> err.stack = ' + err.stack)
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
console.log('[ERROR] Web Sockets Client -> setUpWebsocketClient -> err.stack = ' + err.stack)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function sendMessage(message) {
|
||||
|
||||
return new Promise(sendSocketMessage)
|
||||
|
||||
function sendSocketMessage(resolve, reject) {
|
||||
|
||||
if (socketClient.readyState !== 1) { // 1 means connected and ready.
|
||||
console.log('[ERROR] Web Sockets Client -> sendMessage -> Cannot send message while connection is closed.')
|
||||
reject('Websockets Connection Not Ready.')
|
||||
return
|
||||
}
|
||||
|
||||
let socketMessage = {
|
||||
messageType: 'Request',
|
||||
payload: message
|
||||
}
|
||||
socketClient.onmessage = socketMessage => { onMenssage(socketMessage) }
|
||||
socketClient.send(
|
||||
JSON.stringify(socketMessage)
|
||||
)
|
||||
|
||||
function onMenssage(socketMessage) {
|
||||
try {
|
||||
|
||||
let response = JSON.parse(socketMessage.data)
|
||||
/*
|
||||
Chack if we are waiting for the Handshake response.
|
||||
*/
|
||||
|
||||
if (response.result === 'Ok') {
|
||||
resolve(response.data)
|
||||
} else {
|
||||
console.log('[ERROR] Web Sockets Client -> onMenssage -> response.message = ' + response.message)
|
||||
reject(response.message)
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
callbackFunction = undefined
|
||||
console.log('[ERROR] Web Sockets Client -> err.stack = ' + err.stack)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user