最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How to create TCP client in NodeJS using asyncawait? - Stack Overflow

programmeradmin1浏览0评论

I have written the following tcp client in nodejs.

const net = require('net');

const HOST = 'linux345';
const PORT = 2345;
let ErrCode = 1;

const client = new net.Socket();

client.connect(PORT, HOST, function() {
    ErrCode = 0;
});

client.on('data', function(data) {    
    console.log('Client received: ' + data);
     if (data.toString().endsWith('exit')) {
       client.destroy();
    }
});

client.on('close', function() {
});

client.on('error', function(err) {
    ErrCode = err.code;
    console.log(ErrCode);
});

console.log(ErrCode);

Please suggest how can I write same logic using async/await

I have looked into the following post but it is not helpful. node 7.6 async await issues with returning data

I have written the following tcp client in nodejs.

const net = require('net');

const HOST = 'linux345';
const PORT = 2345;
let ErrCode = 1;

const client = new net.Socket();

client.connect(PORT, HOST, function() {
    ErrCode = 0;
});

client.on('data', function(data) {    
    console.log('Client received: ' + data);
     if (data.toString().endsWith('exit')) {
       client.destroy();
    }
});

client.on('close', function() {
});

client.on('error', function(err) {
    ErrCode = err.code;
    console.log(ErrCode);
});

console.log(ErrCode);

Please suggest how can I write same logic using async/await

I have looked into the following post but it is not helpful. node 7.6 async await issues with returning data

Share Improve this question edited Oct 8, 2019 at 16:55 meallhour asked Oct 8, 2019 at 16:13 meallhourmeallhour 15.7k24 gold badges72 silver badges152 bronze badges 1
  • This might help you: stackoverflow./questions/42440537/… – user11317802 Commented Nov 20, 2019 at 15:23
Add a ment  | 

1 Answer 1

Reset to default 6

There is an amazing package that wraps the native Node socket in a promise. Allowing you to utilize async/await syntax on all socket methods.

The package can be found on NPM.

Example

import net from "net"
import PromiseSocket from "promise-socket"

const socket = new net.Socket()

const promiseSocket = new PromiseSocket(socket)

await connect(80, "localhost")
// or
await connect({port: 80, host: "localhost"})
发布评论

评论列表(0)

  1. 暂无评论