我的 Computer-Craft 网络套接字客户端无法识别 JavaScript 服务器的响应(代码中的注释有助于解释)
2021-7-2 16:57:0
收藏:0
阅读:115
评论:0
服务器代码是普通的 JavaScript,而客户端代码是用 CC:tweaked 和其 web-socket 系统制作的(https://tweaked.cc/module/http.html#ty:Websocket:receive)。以下是客户端代码、发生事件的顺序以及发生的事情。
const WebSocket = require("ws"); // 引入库
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({ // 初始化服务器
port: 3738,
URL: "localhost"
});
// 监听事件
wss.on("connection", ws => {
console.log("客户端已连接。");
ws.on("message", msg => {
console.log("发现消息:" + msg);
if(msg.substring(0, 5) == "Hades"){
ws.send("前进");
console.log("已发送消息。");
}
});
ws.on("close", () => {
console.log("客户端已断开连接。");
});
});
服务器: 当客户端连接时 打印 "客户端已连接。" 在接收到客户端的消息时 打印 "发现消息:" 和消息 如果消息的开头是 "Hades" 向客户端发送 "ls" 打印 "已发送消息。" 当客户端断开连接时 打印 "客户端已断开连接。"
客户端: 打印 "启动!" 尝试连接服务器 打印 "尝试连接。" 如果服务器未连接 打印 "错误:" 打印错误 打印一个新行 如果服务器已连接 向服务器发送 "Hades 请求" 打印 "已连接" 一直循环 打印 "正在测试响应。" 尝试获得响应 如果响应中有内容 打印 "已找到响应。" 跳出循环 关闭网络套接字
--Lua 代码
-- 使用 https://tweaked.cc/module/http.html#ty:Websocket:receive
print("启动!")
local ws,err = http.websocket("ws://localhost:3738")
print("尝试连接。")
if not ws then
print("错误:")
printError(err)
print("")
end
if ws then
ws.send("Hades 请求 {nf31o2jheqioefh9}")
print("已连接")
while true do
local response = ws.receive(1)
print(response)
if not response == nil then
splitstring = response.split(response, ' ')
print("分割字符串:")
print(splitstring)
shell.run(splitsring[1], splitstring[2])
break
end
end
ws.close()
end
我首先启动 JavaScript 程序 然后我会启动 Lua 程序
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
- 如何编写 Lua 模式将字符串(嵌套数组)转换为真正的数组?