簡體   English   中英

Node.js“new Socket”是否創建了一個Unix文件套接字?

[英]Does Node.js “new Socket” create a Unix file socket?

在過去的幾周里我一直在使用node.js,我需要實現FAST-CGI協議。 問題是當我創建一個UNIX套接字(通過“new Socket”)時,我需要獲取文件名或文件描述符。 但是socket.fd為null(默認參數)。

我的問題是:“new Socket”是否會創建一個操作系統套接字目標文件,如果是這樣,我該如何獲取套接字文件描述符或文件名?

我不確定這是否應該如何創建一個Socket,但是情況如下:
節點:

var net = require(net)
var socket = new net.Socket()
console.log(socket);

{
 bufferSize: 0,
 fd:null,
 type: null,
 allowHalfOpen: false,
 _writeImpl: [Function],
 _readImpl: [Function],
 _shutdownImpl: [Function]
}

好吧,當你連接套接字時,socket.fd不是null,至少在我的情況下不是這樣,所以請提供一個示例案例。

請注意,您還可以在創建套接字時指定現有文件描述符。

編輯:

var net = require('net'),
    fs = require('fs'),
    sock;

// Create socket file
fs.open('/tmp/node.test.sock', 'w+', function(err, fdesc){
    if (err || !fdesc) {
        throw 'Error: ' + (err || 'No fdesc');
    }

    // Create socket
    sock = new net.Socket({ fd : fdesc });
    console.log(sock);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM