开启一个socket服务器,接受数据,解码并利用异步函数语法糖优化返回数据模块

这个博客展示了如何使用Node.js的async/await语法来创建一个TCP服务器。服务器监听指定端口,当接收到连接和数据时,它会读取并处理数据。返回的数据是一个Promise,这使得在异步操作中更容易进行流程控制。
摘要由CSDN通过智能技术生成

使用async 和await ,return返回的是一个promise

import { readTestBuffer } from './readBuf';

const port = 3000

// const tcpServer = (port) => {
//     const net = require('net');
//     const server = net.createServer();
//     server.listen(port, () => {
//         console.log(server.address());
        
//     })

//     return new Promise((resolve, reject) => {
//         server.on('connection', (c) => {
//             c.on('data', (data) => {
//                 const testData = readTestBuffer(data);
//                 resolve(testData);
//             });
            
//             c.on('error', (err) => {
//                 c.destroy()
//             });
//         })
//     })
// }

const tcpServer = async (port) => {
    const net = require('net');
    const server = net.createServer();
    server.listen(port, () => {
        console.log(server.address());
        
    })
    let testData;
    await server.on('connection', (c) => {
        c.on('data', (data) => {
            console.log("🚀 ~ file: socketServer.js ~ line 37 ~ c.on ~ data", data)
            testData = readTestBuffer(data);
        });
        
        c.on('error', (err) => {
            c.destroy()
        });
    })

    return testData;//该返回的是一个promise
}

export { tcpServer }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

h沐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值