pbm socket connection resolved

This commit is contained in:
simplonco
2023-01-08 14:53:09 +01:00
parent c5ed704a62
commit 4c0256e7b3
7 changed files with 993 additions and 961 deletions

View File

@@ -24,7 +24,7 @@ export class ChatService {
return new Promise(resolve => setTimeout(resolve, ms)); return new Promise(resolve => setTimeout(resolve, ms));
} }
async getRooms(user: User): Promise<object> async getRooms(user: User)
{ {
console.log("-- in getRooms service"); console.log("-- in getRooms service");
const rooms = await this.chatroomRepository const rooms = await this.chatroomRepository
@@ -58,7 +58,7 @@ export class ChatService {
return room; return room;
} }
async findUserByName(name: string): Promise<object> async findUserByName(name: string)
{ {
console.log("-- in findUserByName service"); console.log("-- in findUserByName service");
const user = await this.userRepository const user = await this.userRepository
@@ -69,7 +69,7 @@ export class ChatService {
return user; return user;
} }
async setCurrentRoom(user: User, name: string): Promise<string> async setCurrentRoom(user: User, name: string)
{ {
console.log("-- in setCurrentRoom service"); console.log("-- in setCurrentRoom service");
const user_db = await this.usersService.findOneByFourtyTwoId(user.fortyTwoId); const user_db = await this.usersService.findOneByFourtyTwoId(user.fortyTwoId);
@@ -79,7 +79,7 @@ export class ChatService {
return `room "${name}" is now current room`; return `room "${name}" is now current room`;
} }
async addUserToRoom(user: User, createRoomDto: createRoomDto): Promise<string> async addUserToRoom(user: User, createRoomDto: createRoomDto)
{ {
console.log("-- in addUserToRoom service"); console.log("-- in addUserToRoom service");
const room = await this.chatroomRepository const room = await this.chatroomRepository
@@ -124,7 +124,7 @@ export class ChatService {
this.chatroomRepository.save(currentRoom); this.chatroomRepository.save(currentRoom);
} }
async getMessagesFromCurrentRoom(user: User): Promise<object> async getMessagesFromCurrentRoom(user: User)
{ {
console.log("-- in getMessagesFromCurrentRoom service"); console.log("-- in getMessagesFromCurrentRoom service");
const user_db = await this.usersService.findOneByFourtyTwoId(user.fortyTwoId); const user_db = await this.usersService.findOneByFourtyTwoId(user.fortyTwoId);

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -6,15 +6,15 @@
/* web sockets with socket.io /* web sockets with socket.io
*/ */
import { socket, user } from './Chat_socket.svelte'; //import { socket, user } from './Chat_socket.svelte';
// import { init_socket, socket, user } from './Socket'; import { init_socket, socket, user } from './Socket';
import { msgs } from './Store_msg.js'; import { msgs } from './Store_msg.js';
// async function socket_actions() init_socket();
// { /*
// async function socket_actions()
// await init_socket(); {
// init_socket(); await init_socket();
// pbm: sometimes socket is still undefined here // pbm: sometimes socket is still undefined here
socket.on('connect', function(){ socket.on('connect', function(){
@@ -61,9 +61,10 @@
from = "me"; from = "me";
msgs.update(msgs => [...msgs, { content: message, name: from }]); msgs.update(msgs => [...msgs, { content: message, name: from }]);
}); });
// }; };
// socket_actions(); socket_actions();
*/
</script> </script>

View File

@@ -4,6 +4,7 @@
import { onMount } from 'svelte'; import { onMount } from 'svelte';
import Button from './Chat_button.svelte'; import Button from './Chat_button.svelte';
import { msgs } from './Store_msg.js'; import { msgs } from './Store_msg.js';
import { user } from './Chat_socket.svelte';
export let layout; export let layout;
let rooms = [ let rooms = [
@@ -32,15 +33,15 @@
.then(data => .then(data =>
{ {
console.log(data.messages); console.log(data.messages);
data.messages.forEach(function(item) {
if (item.name === user.username) {
item.name = "me";
}
});
msgs.update(msgs => msgs.concat(data.messages)); msgs.update(msgs => msgs.concat(data.messages));
}); });
layout = "room"; layout = "room";
} }
function test() {
console.log("test");
}
/*
*/
</script> </script>

View File

@@ -12,9 +12,9 @@
let msg = ""; let msg = "";
let text_area; let text_area;
function add_local_msg(name, message) function add_local_msg(message)
{ {
msgs.update(msgs => [...msgs, { name: name, message: message }]); msgs.update(msgs => [...msgs, { name: "me", message: message }]);
} }
function send_msg() function send_msg()
@@ -22,7 +22,7 @@
msg = msg.trim(); msg = msg.trim();
if (msg.length > 0) { if (msg.length > 0) {
socket.emit('message', msg); socket.emit('message', msg);
add_local_msg("me", msg); add_local_msg(msg);
} }
msg = ""; msg = "";

View File

@@ -3,19 +3,18 @@ import io from 'socket.io-client';
export let user; export let user;
export let socket; export let socket;
export let temp = "foo";
export function change_temp(){temp = "bar";};
const address = `http://${process.env.WEBSITE_HOST}:${process.env.WEBSITE_PORT}`; const address = `http://${process.env.WEBSITE_HOST}:${process.env.WEBSITE_PORT}`;
export function init_socket() export async function init_socket()
{ {
fetch(`${address}/api/v2/user`) console.log("inside init_socket");
.then((resp) => resp.json()) const response = await fetch(`${address}/api/v2/user`);
.then((data) => const response_data = await response.json();
{
user = data; user = response_data;
socket = io(address, console.log("user:", user);
socket = await io(address,
{ {
path: '/chat', path: '/chat',
query: query:
@@ -23,6 +22,36 @@ export function init_socket()
username: user.username, username: user.username,
}, },
}) })
console.log("socket:", socket);
connection_states();
socket_events();
}
function socket_events()
{
socket.on('message', function(from, message)
{
console.log("received msg:", message, from);
if (from === user.username)
from = "me";
msgs.update(msgs => [...msgs, { content: message, name: from }]);
}); });
} }
function connection_states()
{
socket.on('connect', function(){ console.log("socket.io connected"); });
socket.on('disconnect', function(){ console.log("socket.io disconnected"); });
socket.on('connect_error', function(){ console.log("socket.io connect_error"); });
socket.on('connect_timeout', function(){ console.log("socket.io connect_timeout"); });
socket.on('error', function(){ console.log("socket.io error"); });
socket.on('reconnect', function(){ console.log("socket.io reconnect"); });
socket.on('reconnect_attempt', function(){ console.log("socket.io reconnect_attempt"); });
socket.on('reconnecting', function(){ console.log("socket.io reconnecting"); });
socket.on('reconnect_error', function(){ console.log("socket.io reconnect_error"); });
socket.on('reconnect_failed', function(){ console.log("socket.io reconnect_failed"); });
socket.on('ping', function(){ console.log("socket.io ping"); });
socket.on('pong', function(){ console.log("socket.io pong"); });
}