gpt4 book ai didi

node.js - 外部调用功能

转载 作者:太空宇宙 更新时间:2023-11-03 23:26:24 24 4
gpt4 key购买 nike

我使用此代码创建一个监听特定端口和 IP 的服务器

function notifier() {

var net = require('net');
var host = 'x.x.x.x';
var port = xxxx;

var server = net.createServer(function (socket) {
socket.on('data', function (data) {
console.log("data " + data.toString());
});

socket.on('close', function (data) {
console.log('closed');
});

socket.on('error', function (err) {
console.log(err);
});

});

function startServer() {
server.listen(port, host, function () {
console.log('started');
});
}

function stopServer() {
server.close(function () {
console.log('stopped');
});
}

startServer();
}

我还创建了 startServer 和 stopServer 函数。

如果我调用函数notifier(),那么服务器就会启动,但我不知道如何在函数notifier()之外调用stopServer函数

也许我在这里犯了一个巨大的错误,并且我无法在其他地方调用它,那么也许有人可以为我指明正确的方向,如何正确地完成它。

最佳答案

您可以使用“notifier()”函数作为工厂方法并返回一个接口(interface)对象来与服务器实例通信,如下所示...

function notifier() {

var net = require('net');
var host = 'x.x.x.x';
var port = xxxx;

var server = net.createServer(function (socket) {
// ... omitted for brevity
});

return {
startServer() {
server.listen(port, host, function () {
console.log('started');
});
},
stopServer() {
server.close(function () {
console.log('stopped');
});
}
}
}

let server = notifier();
server.startServer();
server.stopServer();

关于node.js - 外部调用功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43791620/

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