[英]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.