2016-10-31 8 views
-1

Я работаю над заданием для школы, и я решил сделать чат-приложение с использованием Electron и NodeJS. Весь GUI запрограммирован, за исключением серверной части вещей. Мой план состоял в том, чтобы иметь два сервера, каждый из которых будет выступать в роли своего собственного клиента И сервера, только для обмена сообщениями друг с другом.Электронная связь с сервером NodeJS с сервером POST

Как я могу получить каждый сервер для связи с помощью запросов POST? Кто-нибудь знает какие-либо полностью функционирующие модули npm, которые могут быть использованы для этого?

+0

Если вы делаете чат-приложение, вы должны посмотреть на socket.io, который использует веб-сайты для прямой связи. – Arcath

+0

«Как я могу связаться с каждым сервером с помощью запросов POST?» - В чем проблема? Выполнение запроса POST? Прослушивание запроса POST? Оба из них должны быть тривиальными для решения с помощью пяти минут + Google. Проблема в другом? Как открытие сервисов? – Quentin

ответ

0

вам нужно использовать в сервере A: socket.io в сервере B: socket.io-client

Как это:

сервер А

// 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!'); 
}); 
0

Это можно сделать с помощью React js, есть примеры на github.

Взгляните на этот пример:

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

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

Приятно видеть кого-то с помощью Electron, я только что закончил свой первый проект с ним, и я поражен.

Как указано в @Arcath, вы должны использовать socket.io, он говорит между интерфейсом и бэкэнд. Всякий раз, когда кто-то отправляет сообщение чата, React.js обрабатывает это сообщение и выдает сообщение сокета, которое получает сервер. Затем сервер добавляет сообщение сокета в базу данных.

+0

Пожалуйста, избегайте ссылок только на ответы (http://meta.stackoverflow.com/tags/link-only-answers/info). Ответы, которые являются «чуть больше, чем ссылка на внешний сайт» [могут быть удалены] (http://stackoverflow.com/help/deleted-answers). – Quentin

+0

Ни одна из этих ссылок не предназначена для решения проблемы, поставленной вопросом в любом случае Они, похоже, полностью связаны с взаимодействием между браузером и сервером, а не с сервером-сервером. – Quentin

+0

Re edit: «Как заявила @Arcath, вы должны использовать socket.io, он говорит между интерфейсом и бэкэнд. «Вопрос задает вопрос об обмене данными между сторонними одноранговыми узлами, а не между интерфейсом и бэкэнд. – Quentin

Смежные вопросы