(port: number)
| 3 | import { logger } from '../utils/logger.js'; |
| 4 | |
| 5 | export function initUdpServer(port: number) { |
| 6 | const server = dgram.createSocket('udp4'); |
| 7 | |
| 8 | server.on('error', (err) => { |
| 9 | logger.info(`Init error:\n${err.stack}`); |
| 10 | server.close(); |
| 11 | }); |
| 12 | |
| 13 | server.on('message', async (msg, rinfo) => { |
| 14 | try { |
| 15 | const raw = String(msg); |
| 16 | const json = JSON.parse(String(msg)); |
| 17 | |
| 18 | logger.info('[UDP] recevice tianji report:', raw, 'info', rinfo); |
| 19 | |
| 20 | await recordServerStatus(json); |
| 21 | } catch (err) {} |
| 22 | }); |
| 23 | |
| 24 | server.on('listening', () => { |
| 25 | const address = server.address(); |
| 26 | logger.info(`UDP Server is listening: ${address.address}:${address.port}`); |
| 27 | }); |
| 28 | |
| 29 | server.bind(port); |
| 30 | } |
no test coverage detected