https://nodejs.org/dist/latest-v16.x/docs/api/net.html#net_net_createconnection

    net模块提供了一个异步网络 API,用于创建基于流的 TCP 或IPC服务器 ( net.createServer()) 和客户端 ( net.createConnection())。

    image.png
    image.png

    1. // server.js
    2. const net = require('net')
    3. // net.createServer([options][, connectionListener]) return <net.Server>
    4. const server = net.createServer((socket) => {
    5. socket.end('goodbye\n')
    6. }).on('error', (err) => {
    7. // Handle errors here.
    8. throw err
    9. })
    10. // Grab an arbitrary unused port.
    11. server.listen(() => {
    12. console.log('opened server on', server.address())
    13. })
    14. // client.js
    15. const net = require('net')
    16. /*
    17. net.createConnection()#
    18. 一个工厂函数,它创建一个 new net.Socket,立即用 启动连接socket.connect(),
    19. 然后返回net.Socket启动连接的 。
    20. 建立连接后,'connect'将在返回的套接字上发出一个事件。
    21. 最后一个参数connectListener(如果提供)将被添加为'connect'事件的侦听器一次。
    22. 可能的签名:
    23. net.createConnection(options[, connectListener])
    24. net.createConnection(path[, connectListener]) 用于IPC连接。
    25. net.createConnection(port[, host][, connectListener]) 用于 TCP 连接。
    26. 该net.connect()函数是该函数的别名。
    27. */
    28. const client = net.createConnection({ port: 53256 }, () => {
    29. // 'connect' listener.
    30. console.log('connected to server!')
    31. client.write('world!\r\n')
    32. })
    33. client.on('data', (data) => {
    34. console.log('data:', data.toString())
    35. client.end()
    36. })
    37. client.on('end', () => {
    38. console.log('disconnected from server')
    39. })