我正在尝试在请求上设置maxSockets
,并在创建客户端时将其发送给node-soap
。没有这一点,交易就可以很好地进行。我尝试通过httpAgent添加它,但一旦添加了maxSockets
属性,就出现了socket hang up
错误。所以,我现在的方法是尝试使用库中可用的httpClient
来配置它,但是,我还没能做到
//OPTION 1
const httpsAgent = new https.Agent({ keepAlive: true });
const httpsClient: AxiosInstance = axios.create();
httpsClient.request({
url: url,
httpsAgent: httpsAgent,
timeout: 15000,
});
//OPTION 2
const httpsAgent = new https.Agent({ keepAlive: true });
const httpsClient: AxiosInstance = axios.create();
httpsClient.defaults.httpsAgent = HttpsAgent;
以下是库文档中关于httpClient的说明:httpClient: to provide your own http client that implements request(url, data, callback, exheaders, exoptions).
发现在HTTP代理上设置keepAlive
属性会终止连接。因此,我只在上面设置了maxSockets
,并在创建客户端时向node-soap
添加了一个标头。
client.addHttpHeader("connection", "keep-alive");