方法和属性


net.createServer([options][, connectionListener])

创建一个新的服务器。connectionListener 参数自动设置为 'connection' 事件 的一个监听器。

options 是一个对象包含以下默认值:

{
    allowHalfOpen: false,
    pauseOnConnect: false
}

如果 allowHalfOpentrue,那么当其他 socket 端发送了一个 FIN 包时,socket 不会自动发送 FIN 包。该 socket 变成不可读但可写的状态。你应该明确地调用 end() 方法。详见 'end' 事件了解更多详情。

如果 pauseOnConnecttrue,那么与每个传入连接关联的 socket 都会被暂停,并且从它的句柄中无法读取数据。这使得连接在不读取原始进程的数据的情况下,在进程之间传递。调用 resume() 从暂停 socket 中开始读取数据。

这是一个监听端口 8124 的连接的回声服务器例子:

const net = require('net');
const server = net.createServer((c) => {
    // 'connection' listener
    console.log('client connected');
    c.on('end', () => {
        console.log('client disconnected');
    });
    c.write('hello\r\n');
    c.pipe(c);
});
server.on('error', (err) => {
    throw err;
});
server.listen(8124, () => {
    console.log('server bound');
});

使用 telnet 进行测试:

telnet localhost 8124

要监听 socket /tmp/echo.sock,只要将倒数的第三行改为

server.listen('/tmp/echo.sock', () => {
    console.log('server bound');
});

使用 nc 来连接一个 UNIX 域 socket 服务器:

nc -U /tmp/echo.sock

net.createConnection(options[, connectListener])

一个工厂函数,返回一个新的 net.Socket 实例,并使用提供的 options 自动连接。

options 同时被传到 net.Socket 构造函数和 socket.connect 方法。

connectListener 参数会被添加为 'connect' 事件 的监听器一次。

这是先前描述的回声服务器的客户端的一个例子:

const net = require('net');
const client = net.createConnection({
    port: 8124
}, () => {
    //'connect' listener
    console.log('connected to server!');
    client.write('world!\r\n');
});
client.on('data', (data) => {
    console.log(data.toString());
    client.end();
});
client.on('end', () => {
    console.log('disconnected from server');
});

要监听 socket /tmp/echo.sock,只要将第二行改为

const client = net.createConnection({path: '/tmp/echo.sock'});

net.createConnection(path[, connectListener])

一个工厂函数,返回一个新的 unix net.Socket 实例,并使用提供的 path 自动连接。

connectListener 参数会被添加为 'connect' 事件 的监听器一次。

net.createConnection(port[, host][, connectListener])

一个工厂函数,返回一个新的 net.Socket 实例,并使用提供的 pathhost 自动连接。

如果省略了 host'localhost' 将会承担其职责。

connectListener 参数会被添加为 'connect' 事件 的监听器一次。

net.connect(options[, connectListener])

一个工厂函数,返回一个新的 net.Socket 实例,并使用提供的 options 自动连接。

options 同时被传到 net.Socket 构造函数和 socket.connect 方法。

connectListener 参数会被添加为 'connect' 事件 的监听器一次。

这是先前描述的回声服务器的客户端的一个例子:

const net = require('net');
const client = net.connect({
    port: 8124
}, () => {
    // 'connect' listener
    console.log('connected to server!');
    client.write('world!\r\n');
});
client.on('data', (data) => {
    console.log(data.toString());
    client.end();
});
client.on('end', () => {
    console.log('disconnected from server');
});

要监听 socket /tmp/echo.sock,只要将第二行改为

const client = net.connect({path: '/tmp/echo.sock'});

net.connect(path[, connectListener])

一个工厂函数,返回一个新的 unix net.Socket 实例,并使用提供的 path 自动连接。

connectListener 参数会被添加为 'connect' 事件 的监听器一次。

net.connect(port[, host][, connectListener])

一个工厂函数,返回一个新的 net.Socket 实例,并使用提供的 pathhost 自动连接。

如果省略了 host'localhost' 将会承担其职责。

connectListener 参数会被添加为 'connect' 事件 的监听器一次。

net.isIP(input)

检测是否输入是一个 IP 地址。对于无效的字符串,返回 0,对于 IPv4 的地址返回 4,对于 IPv6 地址返回 6。

net.isIPv4(input)

如果输入的是版本 4 的 IP 地址,则返回 true,否则返回 false。

net.isIPv6(input)

如果输入的是版本 6 的 IP 地址,则返回 true,否则返回 false。

results matching ""

    No results matching ""