You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Node+Express的局域网跨设备触发应用启动方案咨询

Got it, let's walk through exactly how to set this up—since both devices are on the same local network, we can use basic HTTP communication to trigger the app launch on Computer B when Computer A hits that route.

整体实现思路

Here's the core idea:

  • Computer A runs an Express server that listens for the /loadPage request. When that route is hit, it sends a trigger request to Computer B's local IP address.
  • Computer B runs a lightweight HTTP server that waits for this trigger request. Once received, it uses Node.js's child process module to launch the target application.
Step 1: Set up the Express server on Computer A

First, make sure you have Node.js and Express installed on Computer A. Then create a file (say server-a.js) with this code:

const express = require('express');
const http = require('http'); // Or use `node-fetch` if you prefer promises

const app = express();
const PORT_A = 8080;
// Replace this with Computer B's local IP (e.g., 192.168.1.105) and the port we'll use for B's server
const COMPUTER_B_IP = '192.168.1.XXX';
const PORT_B = 3000;

app.get('/loadPage', (req, res) => {
  // Send a GET request to Computer B to trigger the app launch
  const triggerReq = http.get(`http://${COMPUTER_B_IP}:${PORT_B}/launch-app`, (bRes) => {
    if (bRes.statusCode === 200) {
      res.send('Successfully triggered app launch on Computer B!');
    } else {
      res.status(500).send('Failed to trigger app on Computer B');
    }
  });

  triggerReq.on('error', (err) => {
    console.error('Error connecting to Computer B:', err);
    res.status(500).send('Could not reach Computer B');
  });
});

app.listen(PORT_A, () => {
  console.log(`Computer A server running on http://localhost:${PORT_A}`);
});

To run this:

  1. Install dependencies: npm install express
  2. Start the server: node server-a.js
Step 2: Set up the trigger listener on Computer B

On Computer B, create another file (say server-b.js) that listens for the trigger and launches your app. Here's the code:

const http = require('http');
const { exec } = require('child_process');

const PORT_B = 3000;
// Replace this with the command to launch your target application
// Examples for different OS:
// Windows: 'start notepad.exe' (or path to your app, e.g., '"C:\\Program Files\\MyApp\\MyApp.exe"')
// Mac: 'open -a "Safari"' (replace Safari with your app name)
// Linux: 'xdg-open /path/to/your/app' or just the app executable path
const LAUNCH_COMMAND = 'start notepad.exe';

const server = http.createServer((req, res) => {
  if (req.url === '/launch-app' && req.method === 'GET') {
    exec(LAUNCH_COMMAND, (err, stdout, stderr) => {
      if (err) {
        console.error('Error launching app:', err);
        res.writeHead(500);
        res.end('Failed to launch app');
        return;
      }
      console.log('App launched successfully');
      res.writeHead(200);
      res.end('App launched');
    });
  } else {
    res.writeHead(404);
    res.end('Not found');
  }
});

server.listen(PORT_B, () => {
  console.log(`Computer B listener running on http://0.0.0.0:${PORT_B}`);
});

Run this on Computer B:

  1. No extra dependencies needed (uses built-in modules)
  2. Start the server: node server-b.js
Critical Notes to Make This Work
  • Find Computer B's local IP: On Windows, run ipconfig and look for "IPv4 Address"; on Mac/Linux, run ifconfig or ip addr. Make sure this is the local network IP, not the public one.
  • Firewall settings: Ensure both computers allow incoming connections on their respective ports (8080 for A, 3000 for B). You might need to add exceptions in your OS firewall.
  • App path permissions: Make sure the LAUNCH_COMMAND uses the correct path to your app, and that the user running server-b.js has permission to launch it.
  • Error handling: The code above has basic error handling, but you can expand it (e.g., add retries on Computer A, or validate the request on Computer B for security).

内容的提问来源于stack exchange,提问作者Pardhu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:34:40