Electron NodeJS服务器使用POST进行服务器通信

时间:2016-10-31 12:20:50

标签: javascript ajax node.js electron

我正在为学校做作业,我决定使用Electron和NodeJS制作聊天应用程序。所有的GUI都是编程的,除了服务器端的东西。我的计划是拥有两台服务器,每台服务器都充当自己的客户端和服务器,只能相互通信才能发送消息。

如何让每台服务器使用POST请求进行通信?有没有人知道可用于此的任何功能齐全的npm模块?

2 个答案:

答案 0 :(得分:1)

您需要在服务器A中使用:socket.io 在服务器B中:socket.io-client

像这样:

  

服务器A

// Load requirements
var http = require('http'),
io = require('socket.io');

// Create server & socket
var server = http.createServer(function(req, res)
{
  // Send HTML headers and message
  res.writeHead(404, {'Content-Type': 'text/html'});
  res.end('<h1>404</h1>');
});
server.listen(8080);
io = io.listen(server);

// Add a connect listener
io.sockets.on('connection', function(socket)
{
  console.log('Client connected.');

  // Disconnect listener
  socket.on('disconnect', function() {
  console.log('Client disconnected.');
  });
});
  

服务器B

// Connect to server
var io = require('socket.io-client');
var socket = io.connect('http://localhost:8080', {reconnect: true});

// Add a connect listener
socket.on('connect', function(socket) { 
  console.log('Connected!');
});

答案 1 :(得分:0)

这可以通过React js完成,github上有很多例子。

看一下这个例子:

https://github.com/ncuillery/react-chat-project

https://github.com/keithyong/chat-room

很高兴看到有人使用Electron,我刚刚用它完成了我的第一个项目,我很惊讶。

正如@Arcath所说,你必须使用socket.io,它在前端和后端之间进行对话。每当有人发送聊天消息时,React.js都会处理该消息,并发出服务器收到的套接字消息。然后,服务器将套接字消息添加到数据库中。