import { RpcClientSocket } from '@cloudpss/ubrpc';
import { setTimeout } from 'node:timers/promises';

const rpc = new RpcClientSocket('ws://localhost:8090');
//await setTimeout(1000);
const result = await rpc.call('hello', 'world');
console.log(result);

const s = rpc.subscribe('timer', 1000).subscribe({
    next: console.log,
    complete: () => console.log('complete'),
    error: () => console.log('error'),
});
await setTimeout(1200);
// s.unsubscribe();
await setTimeout(1000);

// 模拟链接意外断开
rpc.socket.close();

await setTimeout(1000);
console.log(await rpc.call('hello', undefined));

s.add(() => rpc.destroy());
