📜  Node.js socket.connect() 方法(1)

📅  最后修改于: 2023-12-03 15:33:09.936000             🧑  作者: Mango

Node.js socket.connect() 方法

在 Node.js 中,socket.connect() 方法用于连接到另一个套接字或服务器。该方法将套接字连接到给定的远程地址和端口。

语法
socket.connect([options], [callback])

参数说明:

  • options:可选参数,一个对象,包含以下属性:
    • port:远程端口号。
    • host:远程主机名或 IP 地址。
    • localAddress:本地主机名或 IP 地址。
    • timeout:连接超时时间,单位为毫秒。默认为 0,表示无超时时间限制。
    • family:IP 地址族,可选值为 46。默认为 4
    • hints:用于指定 IP 地址、名称解析的标志和选项。详情见官方文档。
  • callback:可选参数,一个回调函数,当连接成功或失败时会被调用。回调函数包含一个参数 err,当连接成功时值为 null,否则为连接错误的对象。
示例
const net = require('net');

const socket = new net.Socket();
const port = 3000;
const host = '127.0.0.1';

socket.connect({ port, host }, () => {
  console.log('连接成功');
  socket.write('Hello, server!');
});

socket.on('data', data => {
  console.log(`收到数据:${data.toString()}`);
});

socket.on('close', () => {
  console.log('连接断开');
});

socket.on('error', err => {
  console.error(`连接发生错误:${err}`);
});

以上示例演示了如何使用 socket.connect() 方法连接到本地的服务器。当连接建立后,客户端向服务器发送一条消息,并监听服务器发来的数据。当连接关闭或发生错误时,客户端会输出相应的日志信息。

注意事项
  • socket.connect() 可以被多次调用,但只会有一次连接成功或失败的回调。
  • 调用 socket.connect() 时,套接字的状态必须为 closederror
  • 非常规的套接字地址(如 Windows 命名管道)可能不受支持。请参考官方文档了解更多细节。