我的朋友正在制作一个websocket服务器,它';它不工作了
我的朋友为MineCraft制作了这个WebSocket服务器,但它不工作。他有一段时间不在,所以我决定来这里。有人能帮忙吗我的朋友正在制作一个websocket服务器,它';它不工作了,websocket,Websocket,我的朋友为MineCraft制作了这个WebSocket服务器,但它不工作。他有一段时间不在,所以我决定来这里。有人能帮忙吗 // Minecraft Bedrock WebSocket Server const webSocket = require('websocket'); const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, outpu
// Minecraft Bedrock WebSocket Server
const webSocket = require('websocket');
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
const wss = new webSocket.server({port: 8000 });
try {
console.log("Server is running on your_ip:8000");
wss.on('connection', socket => {
console.log("A client is opening a connection");
const command = () => {
return new Promise((resolve) => {
rl.question(`Command: /`, (cmd) => {
// log user details
//console.log(`\nYour INPUT: /${cmd}`);
// Send command
socket.send(JSON.stringify(
{
"body": {
"origin": {
"type": "player"
},
"commandLine": `${cmd}`,
"version": 1
},
"header": {
"requestId": "00000000-0000-0000-0000-000000000000",
"messagePurpose": "commandRequest",
"version": 1,
"messageType": "commandRequest"
}
}
));
console.log("Command sent\n\n");
resolve();
});
});
}
async function askCommands() {
while (true) {
await command();
}
}
// Run async function
askCommands();
socket.on('message', function incoming(message) {
console.log('\nreceived: %s', message);
});
process.on('SIGINT', function() {
console.log("\nInterrupt Ctrl-C");
process.exit();
});
});
wss.off;
} catch(E) {
console.log(E);
}
这是Visual Studio代码中的错误:
已附加调试器。
正在等待调试器断开连接。。。
c:\Users\*****\Downloads\wsserver Basick master\wsserver Basick master\node_modules\websocket\lib\WebSocketServer.js:150
抛出新错误('必须指定要在其上装载WebSocket服务器的httpServer');
^
错误:必须指定要在其上装载WebSocket服务器的httpServer。
在WebSocketServer.mount(c:\Users\***\Downloads\wsserver Basick master\wsserver Basick master\node\U modules\websocket\lib\WebSocketServer.js:150:15)
在新的WebSocketServer上(c:\Users\***\Downloads\wsserver Basick master\wsserver Basick master\node\U modules\websocket\lib\WebSocketServer.js:36:14)
反对。(c:\Users\*****\Downloads\wsserver Basick master\wsserver Basick master\wsserver.js:11:13)
at模块编译(内部/modules/cjs/loader.js:1068:30)
at Object.Module._extensions..js(internal/modules/cjs/loader.js:1097:10)
在Module.load(内部/modules/cjs/loader.js:933:32)
at Function.Module._load(内部/modules/cjs/loader.js:774:14)
在Function.executeUserEntryPoint[作为runMain](internal/modules/run_main.js:72:12)
在internal/main/run_main_module.js:17:47
进程已退出,代码为1
未捕获错误:必须指定要在其上装载WebSocket服务器的httpServer。
没有可用的调试器,无法发送“变量”
嗨,你就是这样编码的。
在客户端,代码应该是
服务器将是这样的
请给我一个答案。我从来没有真正接触过javascript/node.js,所以我只向你介绍他的视频和github的代码。正如错误消息所说,您需要“指定一个要在其上装载WebSocket服务器的httpServer”。首先创建
http
服务器,然后将其分配给WebSocket服务器。请参见中的示例。