Надеюсь, ты сможешь sh меня направить в правильном направлении. Я хочу создать сервер ботов Discord с прикрепленной базой данных MySQL. И несколько клиентов, подключенных к этому боту, которые имеют json баз данных и могут запускать и перезапускать игровой сервер.
Мой вопрос в том, как лучше всего передавать данные с сервера клиенту и наоборот.
Я пробовал всего net проблема, которая у меня возникла, заключается в том, хочу ли я получить все серверы от клиента и отправили его обратно на канал в разногласиях. Я бы 1. отправил клиенту пакет с материалами, необходимыми для получения серверов, а также Discord serverID и channelID. 2. Обработайте данные на клиенте и отправьте обратно все запрошенные данные + discord и идентификатор канала в виде нового пакета 3. На боте Discord получите новый пакет и напишите готовое сообщение на канал
Есть ли способ как обратный вызов или обещание, поэтому мне не нужно иметь 3 функции on.data только для одной задачи, и можно ли получить данные и использовать эти данные в той же функции, что и я могу сделать с базой данных, например, я могу do var userid = getidbyname (name) return userservers (userid)
Также я хочу получать данные с сервера на клиент точно так же
Я довольно новичок в node.js и я думаю, вся эта асинхронная c штука меня действительно достает
Вот краткая версия того, что у меня есть.
Сервер:
Module.Server.WriteToIp(IP, ["GetPermissionByUserID","SendPermission","DiscordGuildID","DiscordChannelID","UserID"])
module.exports.WriteToIp = function WriteToIp(Ip,data)
{
sockets.forEach(element => {
if(element == `${Ip}`)
element.write(JSON.stringify(data))
});
}
И обработчик на клиенте
module.exports.HandleData = function HandleData(socket,bytes){
var everything = bytes.toString()
const args = everything.split(',');
const func = args.shift()
var argsCount = args.length -1
if(func == "GetPermissionByUserID" ){
client.Write('response with new func for the server and collected data')
}
}
И то же самое для Сервера, я думаю, это тоже большой беспорядок код не очищен или что-то в этом роде, но вы поняли
Надеюсь, вы, ребята, можете мне помочь здесь