我正在为学校做作业,我决定使用Electron和NodeJS制作聊天应用程序。所有的GUI都是编程的,除了服务器端的东西。我的计划是拥有两台服务器,每台服务器都充当自己的客户端和服务器,只能相互通信才能发送消息。
如何让每台服务器使用POST请求进行通信?有没有人知道可用于此的任何功能齐全的npm模块?
答案 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都会处理该消息,并发出服务器收到的套接字消息。然后,服务器将套接字消息添加到数据库中。