UNPKG

nodejs-slikenet

Version:

Node.js native addon for SLikeNet networking library with improved thread management architecture

81 lines (65 loc) 2.65 kB
const { SlikeNetPeer } = require('./index'); // Пример использования новой архитектуры async function example() { console.log('=== SlikeNet New Architecture Example ===\n'); // Создаем peer const peer = new SlikeNetPeer(); // Инициализируем if (!peer.initialize(32)) { console.error('Failed to initialize peer'); return; } console.log('✓ Peer initialized'); // Запускаем if (!peer.startup(32, 0)) { console.error('Failed to startup peer'); return; } console.log('✓ Peer started'); // Подписываемся на системные события peer.on('connect', () => { console.log('🎉 Connected to server!'); }); peer.on('disconnect', () => { console.log('💔 Disconnected from server'); }); // Подписываемся на конкретные packet ID peer.listen(100, (data) => { console.log('📦 Received packet ID 100:', data); }); peer.listen(101, (data) => { console.log('📦 Received packet ID 101:', data); }); peer.listen(102, (data) => { console.log('📦 Received packet ID 102:', data); }); // Подключаемся к серверу console.log('🔌 Connecting to server...'); const result = peer.connect('127.0.0.1', 1234); console.log('Connection result:', result); // Отправляем данные setTimeout(() => { if (peer.isConnected()) { console.log('📤 Sending data...'); peer.send('Hello from new architecture!'); } }, 1000); // Через некоторое время отписываемся от одного слушателя setTimeout(() => { console.log('🔇 Removing listener for packet ID 101'); // peer.removeListener(101, handler); // Нужно сохранить ссылку на handler }, 5000); // Через некоторое время отписываемся от всех setTimeout(() => { console.log('🔇 Removing all listeners'); peer.removeAllListeners(); }, 10000); // Через некоторое время отключаемся setTimeout(() => { console.log('🔌 Shutting down...'); peer.shutdown(); console.log('✓ Example completed'); }, 15000); } // Запускаем пример example().catch(console.error);