node.js - Node JS 服务器到服务器连接

标签 node.js client socket.io

是否可以从另一台服务器连接到 NodeJS 服务器?两个 NodeJS 服务器相互通信?

//Server Code
var io = require('socket.io').listen(8090);

io.sockets.on('connection', function (socket) {
io.sockets.emit('this', { will: 'be received by everyone'});

socket.on('private message', function (from, msg) {
   console.log('I received a private message by ', from, ' saying ', msg);
});

socket.on('disconnect', function () {
   io.sockets.emit('user disconnected');
  });
});

//Client Code in Server Code. Connecting to another server.
io.connect( "http://192.168.0.104:8091" );  //Connect to another server from this one.

//ETC...

最佳答案

这是一个创建服务器和连接到该服务器的客户端的简单示例。请记住,您发送的内容必须是缓冲区(字符串会自动转换为缓冲区)。客户端和服务器彼此独立工作,因此可以放在同一个应用程序或完全不同的计算机上。

服务器(server.js):

const net = require("net");

// Create a simple server
var server = net.createServer(function (conn) {
    console.log("Server: Client connected");

    // If connection is closed
    conn.on("end", function() {
        console.log('Server: Client disconnected');
        // Close the server
        server.close();
        // End the process
        process.exit(0);
    });

    // Handle data from client
    conn.on("data", function(data) {
        data = JSON.parse(data);
        console.log("Response from client: %s", data.response);
    });

    // Let's response with a hello message
    conn.write(
        JSON.stringify(
            { response: "Hey there client!" }
        )
    );
});

// Listen for connections
server.listen(61337, "localhost", function () {
    console.log("Server: Listening");
});

客户端(client.js):

const net = require("net");

// Create a socket (client) that connects to the server
var socket = new net.Socket();
socket.connect(61337, "localhost", function () {
    console.log("Client: Connected to server");
});

// Let's handle the data we get from the server
socket.on("data", function (data) {
    data = JSON.parse(data);
    console.log("Response from server: %s", data.response);
    // Respond back
    socket.write(JSON.stringify({ response: "Hey there server!" }));
    // Close the connection
    socket.end();
});

connsocket 对象都实现了Stream界面。

关于node.js - Node JS 服务器到服务器连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14113254/

相关文章:

java - 通过更改 URL 在 .Net Webservice 和 Java Webservice 之间切换

sql-server - 如何从本地电脑连接到SQL Server数据库?

javascript - Socket IO - NodeJS 需要外部脚本吗?

javascript - 通过socket检测网络断开

javascript - 使用 Javascript 和 Mongodb 对时间序列数据进行重采样

node.js - 如何使C8输出总代码覆盖率%?

node.js - 如何在nodejs中的文件中查找导入的文件?

javascript - Node-Promisify 一个包含循环的函数

python - 如何使用 Azure DevOps 的 python 客户端 API 将用户添加到 Azure DevOps?

javascript - Backbone.js 客户端模型在服务器端错误时保存问题