我的朋友正在制作一个网络套接字服务器,但它不起作用



我的朋友为MineCraft制作了这个WebSocket服务器,但它不起作用。他暂时不会上场,所以我决定来这里。有人能帮忙吗?

// 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 sentnn");
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代码中的错误:

Debugger attached.
Waiting for the debugger to disconnect...
c:Users*****Downloadswsserver-bedrock-masterwsserver-bedrock-masternode_moduleswebsocketlibWebSocketServer.js:150
throw new Error('You must specify an httpServer on which to mount the WebSocket server.');
^
Error: You must specify an httpServer on which to mount the WebSocket server.
at WebSocketServer.mount (c:Users*****Downloadswsserver-bedrock-masterwsserver-bedrock-masternode_moduleswebsocketlibWebSocketServer.js:150:15)
at new WebSocketServer (c:Users*****Downloadswsserver-bedrock-masterwsserver-bedrock-masternode_moduleswebsocketlibWebSocketServer.js:36:14)
at Object.<anonymous> (c:Users*****Downloadswsserver-bedrock-masterwsserver-bedrock-masterwsserver.js:11:13)
at Module._compile (internal/modules/cjs/loader.js:1068:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
at Module.load (internal/modules/cjs/loader.js:933:32)
at Function.Module._load (internal/modules/cjs/loader.js:774:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47
Process exited with code 1
Uncaught Error: You must specify an httpServer on which to mount the WebSocket server.
No debugger available, can not send 'variables'

嗨,你刚才的代码是这样的。在客户端中,代码应该如下参考

服务器将是这样的参考文献2:

最新更新