gpt4 book ai didi

sockets - 在 node.js 中保持 tcp 套接字打开

转载 作者:可可西里 更新时间:2023-11-01 02:43:07 28 4
gpt4 key购买 nike

我正在打开一个到服务器的 tcp 连接,这很容易做到,但我需要一种方法来保持该套接字打开,而不必再次调用 net.createConnection(port, host)然后再次。

我要实现的是一个套接字服务器,它接受多个连接,然后如上所述通过一个套接字传送请求。然后我需要将响应传送到正确的套接字。但是,我遇到的唯一问题是维护一个我试图在监听服务器代码之外创建的开放套接字。

我已经使用单例模式来创建套接字......

var Singleton = (function() {

var socket = null;

function connectToHost(port, host) {
socket = net.createConnection(port, host);
return socket;
}

return {
connectToHost: connectToHost
};
})();

但据我所见,在 Event('end') 上,套接字不再可写。如果我重新连接 socket 。

socket.on('end', function() { 
socket = Singleton.connectToHost(port, host);
});

同样的事情也会发生在 Event('end') 上。

我怎样才能解决这个问题,以便我可以创建和维护一个套接字连接?

最佳答案

对此的迟到回应。

如果我正确理解你的问题,你是不是想做这样的事情?

socket.on('close', function() {
socket.connect(port, host);
});

根据net Node.js v.0.12.0 documentation

它可能有效,但它会严重破坏服务器,因此 setTimeout 可能是明智的。

我很好奇:你最后得到了什么?

关于sockets - 在 node.js 中保持 tcp 套接字打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6384498/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com