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