У меня есть приложение Adobe AIR на локальном компьютере, которое связывается с удаленным сервером node.js (socket-script.js) через соединение сокета. Кроме того, я запускаю новый процесс node.js через командную строку и посылаю дополнительные аргументы второму серверному скрипту (terminal-script.js). Вопрос: Как отправить аргументы из терминала-script.js в socket-script.js? Впоследствии socket-script.js должен транслировать аргументы в приложение AIR. Кто-нибудь знает, как подключить два независимых рабочих процесса в Node.js? Благодарю.Отправить сообщение между двумя независимыми работающими процессами в Node.js
1
A
ответ
0
Единственный способ, который я представить себе, чтобы сделать эту работу что-то вроде этого:
1) Вы должны иметь терминально-script.js быть прослушивает сокет. Как так:
var arguments = process.args.splice(2);
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end(arguments[0]);
}).listen(8000, '127.0.0.1');
2) Просто сделайте запрос от сокета-скрипта для терминала сценария:
//somewhere in socket-script use this to grab the value from the terminal script.
var http = require('http');
var options = {
host: 'terminal-script-host.com',
port: '8000',
path: '/'
};
var req = http.get(options, function(res) {
res.on('data', function (data) {
console.log('socket-script got the data from terminal-script: ' + data);
});
});
Не уверен, если это помогает. Но я могу сказать вам, что было бы почти невозможно «впрыснуть» что-то в сокет-скрипт из терминального сценария, а не так, чтобы в любом случае работать с тем же запросом.
3
Используйте сервер для обмена данными между процессами:
штепсельные script.js
var net = require('net');
var app = null;
var server = net.createServer(function(socket) {
socket.on('data', function(data){
if(data.indexOf('terminal:') >-1){
if(app){
app.write(data);
}
} else if(data.indexOf('app:') >-1){
app = socket;
}
});
});
терминально-script.js:
var net = require('net');
var client = net.connect({port: 9001}, function() {
client.write('terminal:' + process.argv[2]);
});
приложение:
var net = require('net');
var client = net.connect({port: 9001}, function() {
client.write('app:connect');
});
client.on('data', function(data){
if(data.indexOf('terminal:') >-1){
// got terminal data
}
});
Смежные вопросы
- 1. Коммуникация между двумя процессами indidendent node.js
- 2. связь между двумя процессами, выполняющимися node.js
- 3. Связь между двумя независимыми QWidget
- 4. Общайтесь между двумя процессами
- 5. Взаимосвязь между двумя процессами
- 6. mq_notify между двумя процессами - C
- 7. Являются ли IPython независимыми процессами?
- 8. не удается отправить сообщения между двумя процессами Mach
- 9. Как взаимодействовать между двумя процессами
- 10. Обмен массивом между двумя процессами
- 11. Последовательные сигналы между двумя процессами
- 12. Связь между двумя процессами рендеринга в Electron
- 13. Синхронизация между двумя процессами в c
- 14. Связь между процессами
- 15. Как отправить изображение с помощью AIDL между двумя процессами?
- 16. Перенос объектов между двумя независимыми приложениями (C#)
- 17. Передача сообщений между двумя независимыми UIViews
- 18. Связь между двумя независимыми компонентами angularJS 2
- 19. Как передать объект между двумя независимыми функциями?
- 20. Как синхронизировать время между двумя разными процессами?
- 21. Обмен данными между двумя процессами с индексом в C
- 22. Быстрая связь между двумя процессами Java
- 23. Доля памяти между двумя процессами в Dalvik
- 24. контекстный переключатель между двумя процессами в linux
- 25. Обмен сообщениями между двумя процессами в Erlang
- 26. Синхронизация между двумя процессами в C#.?
- 27. В чем разница между двумя процессами?
- 28. Многопроцессорность Python - функциональная связь между двумя процессами
- 29. Как разделить COM-объекты между двумя процессами?
- 30. сигнал отправки между двумя дочерними процессами
Спасибо за подсказку. Теперь это работает как шарм. – Flexer