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.
tailchat/client/test/client.ts

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)
// }