Node.js Связь сервер-клиент - PullRequest
       16

Node.js Связь сервер-клиент

0 голосов
/ 30 сентября 2018

У меня бот-дискорд, и я хочу создать сайт для бота.Например, я хочу получить дискорд-сервер членов и распечатать на сайте в шапке или что-то еще.Или если была нажата кнопка на странице, бот отправляет сообщение на канал.Подскажите, пожалуйста, как я могу это сделать?

1 Ответ

0 голосов
/ 30 сентября 2018

Вы должны установить пакет узла с именем Express, используя команду: npm install --save express.Вы должны сделать:

    var express = require('express');
    var app = express();
    var server = app.listen(3000);
    app.use(express.static('public'));//name of the website folder that has the html and js files.

, который будет размещать сервер на локальном хосте: 3000.Затем вам нужно будет запустить код на сервере js узла при нажатии кнопки, как вы сказали.Для этого вам нужно использовать сокеты.Вам нужен еще один пакет узла с именем socket.io.так что просто запустите npm install --save socket.io

и затем запишите

    var socket = require('socket.io')
    var io = socket(server);

    io.sockets.on("connection", function(Socket){
      console.log("new connection " + Socket.id);
      Socket.on("sendMessage", function(data){
        //send a discord message.
      });
    });

Хорошо, теперь на клиенте.

В HTML-файле вам нужнообратитесь к библиотеке сокетов.

    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.1.1/socket.io.dev.js"></script>

В файле js вам нужно написать это.

    var socket;
    socket = io.connect("http://localhost:3000");

    var button = document.getElementById('button');
    button.addEventListener('click', function(){
      var data = {};
      socket.emit("sendMessage", data);
    });

Это отправит запрос на сервер, и когда сервер получит его, он запустится.код, который вы ввели:

  Socket.on("sendMessage")

URL сайта находится на localhost: 3000.и он доступен только на вашем ПК, он отличается тем, что делает его публичным.

Надеюсь, это помогло вам!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...