Мой компьютерный клиент веб-сокета не распознает, когда он получает ответ от моего сервера JavaScript (комментарии в коде помогают объяснить).

#javascript #websocket #lua #computercraft

Вопрос:

Код сервера написан на обычном JavaScript, в то время как код клиента выполнен в CC:tweaked и его системе веб-сокетов (https://tweaked.cc/module/http.html#ty:Websocket:receive). Существует клиентский код, порядок того, что происходит, и что происходит.

 const WebSocket = require("ws"); //Import the library
const fs = require('fs');

var JSONvariables;

fs.readFile('C:/Users/Max/OneDrive/Documents/Dev/ThreeJS/turtleData.json', 'utf8' , (err, f) => {
    if (err) {
        console.error(err);
        return;
    }
    const pfile = JSON.parse(f);
    console.log(pfile.hades_values);
})

const wss = new WebSocket.Server({ //Initialize the server
    port: 3738,
    URL: "localhost"
});

//Listen for events
wss.on("connection", ws => {
    console.log("Client connected.");

    ws.on("message", msg => {
        console.log("Message found: "   msg);

        if(msg.substring(0, 5) == "Hades"){
            ws.send("go forward");
            console.log("Message sent.");
        }
    });

    ws.on("close", () => {
        console.log("Client disconnected.");
    });
});
 

Сервер:
Когда клиент подключается
Печатает «Клиент подключен».
При получении сообщения от клиента
Печатает «Сообщение вслух:» и сообщение
Если начало сообщения — «Аид»,
Отправьте клиенту «ls»
Выведите «Сообщение отправлено».
Когда клиент отключается
Печатает «Клиет отключен».

Клиент: Печатает «Запуск!» При попытке подключиться к серверу выводится сообщение «Пытался подключиться». Если сервер не подключался, Выводится ошибка: «Выводится ошибка, Выводится новая строка, Если сервер подключается, Отправляется на сервер», Гадес запрашивает «Выводится» Подключен», В то время как true Выводит» Проверка на ответ». Пытается получить ответ, если в ответе есть что-то, что печатает «Найден ответ». Разрывает Закрывает веб-узел

 --Lua code
--using https://tweaked.cc/module/http.html#ty:Websocket:receive

print("Startup!")

local ws,err = http.websocket("ws://localhost:3738")
print("Tried connecting.")

if not ws then
    print("Error: ")
    printError(err)
    print("")
end

if ws then
    ws.send("Hades requesting {nf31o2jheqioefh9}")
    print("Connected")
    
    while true do
        local response = ws.receive(1)
        print(response)
        if not response == nil then
            splitstring = response.split(response, ' ')
            print("splitstring:")
            print(splitstring)
            shell.run(splitsring[1], splitstring[2])
            break
        end
    end
    
    ws.close()
end
 

I would start the JavaScript program first
then I would start the lua program