reconnect

This commit is contained in:
Peter Maquiran
2022-01-12 13:47:17 +01:00
parent 45284fc1a6
commit 8aec66bcaf
2 changed files with 24 additions and 40 deletions
+10 -23
View File
@@ -37,17 +37,11 @@ export class AuthService {
this.ValidatedUser = SessionStore.user
console.log('login', SessionStore.user.RochetChatUser, SessionStore.user.Password)
this.WsChatService.connect(()=>{
this.WsChatService.login({
username: SessionStore.user.RochetChatUser,
password: SessionStore.user.Password
}).then((message) => {
console.log('rocket chat login successfully', message)
}).catch((message)=>{
console.log('rocket chat login failed', message)
})
this.WsChatService.connect();
this.WsChatService.login().then((message) => {
console.log('rocket chat login successfully', message)
}).catch((message)=>{
console.log('rocket chat login failed', message)
})
}
@@ -116,18 +110,11 @@ export class AuthService {
}
this.WsChatService.connect(()=>{
this.WsChatService.login({
username: SessionStore.user.RochetChatUser,
password: user.password
}).then((message) => {
console.log('rocket chat login successfully', message)
}).catch((message)=>{
console.log('rocket chat login failed', message)
}).finally(()=>{
})
this.WsChatService.connect();
this.WsChatService.login().then((message) => {
console.log('rocket chat login successfully', message)
}).catch((message)=>{
console.log('rocket chat login failed', message)
})
+13 -16
View File
@@ -3,21 +3,20 @@ import { v4 as uuidv4 } from 'uuid'
import { wsCallbacksParams, msgQueue } from 'src/app/models/rochet-chat-cliente-service'
import { deepFind } from 'src/plugin/deep'
import { environment } from 'src/environments/environment';
import { SessionStore } from 'src/app/store/session.service';
@Injectable({
providedIn: 'root'
})
export class WsChatService {
private firstPingFunx: Function
isLogin = false;
constructor() {}
connect(firstPingFunx: Function) {
this.firstPingFunx = firstPingFunx //
connect() {
this.ws.connect(environment.apiWsChatUrl);
this.ws.connect();
const connectMessage = {
msg: "connect",
@@ -27,14 +26,10 @@ export class WsChatService {
this.ws.send(connectMessage, 'connect', false)
this.ws.send({msg:"pong"},'recoonect', false)
firstPingFunx()
}
login(user) {
login() {
const requestId = uuidv4()
this.isLogin = false
const loginRequest = {
msg: "method",
@@ -42,8 +37,8 @@ export class WsChatService {
id: requestId,
params: [
{
user: { username: user.username },
password: user.password
user: { username: SessionStore.user.RochetChatUser },
password: SessionStore.user.Password
}
]
}
@@ -52,6 +47,7 @@ export class WsChatService {
return new Promise((resolve, reject) => {
this.ws.registerCallback({type:'Onmessage', requestId, funx:(message)=>{
if(message.id == requestId ) { // same request send
console.log('message login', message)
if(message.result.token) {
this.isLogin = true
@@ -290,9 +286,8 @@ export class WsChatService {
}
},
connect:(url)=> {
this.wsUrl = url
this.socket = new WebSocket(this.wsUrl);
connect:()=> {
this.socket = new WebSocket(environment.apiWsChatUrl);
// bind function
this.socket.onopen = this.ws.onopen;
this.socket.onmessage = this.ws.onmessage;
@@ -302,6 +297,7 @@ export class WsChatService {
onopen:()=> {
this.ws.connected = true
console.log('================== welcome to socket server =====================')
this.ws.wsMsgQueue()
},
wsMsgQueue:()=> {
@@ -350,7 +346,8 @@ export class WsChatService {
onclose:(event: any)=> {
this.connect(this.firstPingFunx())
this.connect()
this.login()
this.ws.connected = false
console.log(`[close] Connection closed cleanly, code=${event.code} reason=${event.reason}`);