おはようございます。@kjunichiです。 この記事は、@kjunichiの2018年パーソナルアドベントカレンダーの3日目の記事です。
マイクラBE版とのWebSocket接続
マイクラBE版(Minecraft Win10)から/connectコマンドでnode.jsのwsではつながるのに、昨日紹介したJuliaやPythonのWebSocketのライブラリで 作ったサーバーへ接続しても何故かつながらない模様。
つながらないPython
from websocket_server import WebsocketServer # Called for every client connecting (after handshake) def new_client(client, server): print("New client connected and was given id %d" % client['id']) server.send_message_to_all("Hey all, a new client has joined us") # Called for every client disconnecting def client_left(client, server): print("Client(%d) disconnected" % client['id']) # Called when a client sends a message def message_received(client, server, message): if len(message) > 200: message = message[:200]+'..' print("Client(%d) said: %s" % (client['id'], message)) PORT=9001 server = WebsocketServer(PORT) server.set_fn_new_client(new_client) server.set_fn_client_left(client_left) server.set_fn_message_received(message_received) server.run_forever()
つながるnode.jsのコード
const WebSocket = require('ws'); const app = require('express')(); const server = require('http').Server(app); const uuid = require('uuid/v4'); const wss = new WebSocket.Server({server}); wss.on('connection', socket => { console.log('user connected'); socket.on('message', packet => { }); }); server.listen(3000, () => { console.log('listening on *:3000'); });
参考資料
関連記事
- Safariだとオレオレ証明書でWebSocketが使えない!?
- Goオールスターズ2に行くので、gopheronをGo言語で動かせるようにした #websocket
- JuliaでWebSocketを扱うには
- Minecraft Win10版にnode.js以外でGo言語でもつなげた