我正在使用select distinct no
from YourTable yt1
where not exists
(
select *
from YourTable yt2
where yt1.no = yt2.no
and yt2.error = 0
)
在Node.js应用程序中创建服务器。
我将事件监听器添加到“连接”事件中,以便能够确定何时建立连接。到目前为止一切顺利。
问题在于,当我断开连接时,它似乎再次触发了“连接”事件!而且没有“断开连接”事件,所以我不知道如何知道它是连接还是断开连接!
net.createServer
如何确定连接是建立还是结束?
如果可能的话,我希望避免使用标记来跟踪状态。
谢谢!
答案 0 :(得分:0)
p = r.exec(new String[]{ "file", "-bi", sPath, sFileName});
答案 1 :(得分:0)
在连接监听事件中,有一个断开连接的监听事件:
var clients = [];
server.on('connection', (socket) => {
// add client
clients.push({id:15, name:'client15'});
socket.on('disconnect', () => {
// first search client and remove
});
});
现在下一个问题是:我怎么知道哪个人断开了连接?
这个问题的答案不只是在过程中添加逻辑,而且您可以为保存客户端创建一个全局变量,当此人启动会话或连接到套接字时,该变量将注册在该变量中,而在断开连接时将其注册必须从上述变量中删除,这不是一个例子,但可能会有更好的方法。
答案 2 :(得分:0)
因此,对于这个似乎可行的问题,我幼稚的方法是使用getConnections,它会在每个连接事件中增加,并查看它是偶数还是偶数,以便能够确定它是已连接还是已断开:
server.on("connection", () => {
server.getConnections((e, c) => {
if (c % 2 === 0) {
// Disconnected
} else {
// Connected
}
});
这似乎不是一个很好的解决方案,但在有人向我展示更好的方法之前,它可能已经足够好了。