mirror of https://github.com/msgbyte/tailchat
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.2 KiB
TypeScript
69 lines
1.2 KiB
TypeScript
import { io } from 'socket.io-client';
|
|
import fetch from 'node-fetch';
|
|
|
|
const uri = 'http://127.0.0.1:11000';
|
|
|
|
function createIO(authToken: string) {
|
|
const socket = io(uri, {
|
|
transports: ['websocket'],
|
|
forceNew: true,
|
|
auth: {
|
|
token: authToken,
|
|
},
|
|
});
|
|
|
|
// client-side
|
|
socket.on('connect', () => {
|
|
socket.emit(
|
|
'debug.echo',
|
|
{
|
|
name: 'moonrailgun',
|
|
},
|
|
(d) => {
|
|
console.log(d);
|
|
}
|
|
);
|
|
});
|
|
|
|
socket.on('disconnect', () => {
|
|
console.log(socket.id); // undefined
|
|
});
|
|
|
|
socket.on('connect_error', (err) => {
|
|
console.log('connect_error', err.message);
|
|
});
|
|
|
|
socket.io.on('error', () => {
|
|
console.log('error');
|
|
});
|
|
|
|
socket.onAny((eventName: string, eventData: unknown) => {
|
|
console.log({
|
|
eventName,
|
|
eventData,
|
|
});
|
|
});
|
|
}
|
|
|
|
fetch('http://127.0.0.1:11000/api/user/login', {
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
},
|
|
body: JSON.stringify({
|
|
username: 'asd',
|
|
password: 'asd',
|
|
}),
|
|
method: 'post',
|
|
})
|
|
.then((res: any) => res.json())
|
|
.then((data: any) => {
|
|
console.log('data', data);
|
|
const token = data.user.token;
|
|
createIO(token);
|
|
});
|
|
|
|
// createIO();
|
|
// for (let i = 0; i < 100; i++) {
|
|
// createIO(i)
|
|
// }
|