「Unity/websocket」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→参考) |
(→websocket(unity側)) |
||
行34: | 行34: | ||
void Start () { | void Start () { | ||
Debug.Log ("startstart"); | Debug.Log ("startstart"); | ||
− | this.ws = new WebSocket ("ws:// | + | this.ws = new WebSocket ("ws://localhost:9001"); |
this.ws.OnMessage += (object sender, MessageEventArgs e) => { | this.ws.OnMessage += (object sender, MessageEventArgs e) => { | ||
Debug.Log (e.Data); | Debug.Log (e.Data); |
2017年11月16日 (木) 15:45時点における版
目次
websocket-sharpを使う
websocket-sharpをビルドする
- ruby2.0以上を入れる
- brew install mono
- Example〜Example4を削除しwebsocket-sharp.slnないのExampleも削除する
$ xbuild websocket-sharp.sln
- 以下が作成されることを確認
websocket-sharp/bin/Debug/websocket-sharp.dll
サーバ側websocketをインストール&起動
インストール
$ npm install -g ws
server.js作成
var WebSocketServer = require('ws').Server; var wss = new WebSocketServer({port: 9001}); wss.on('connection', function(ws) { ws.on('message', function(message) { console.log('received: %s', message); }); ws.send('something'); });
起動
$ node server.js
websocket(unity側)
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using WebSocketSharp; public class WebSocketScript : MonoBehaviour { WebSocket ws; void Start () { Debug.Log ("startstart"); this.ws = new WebSocket ("ws://localhost:9001"); this.ws.OnMessage += (object sender, MessageEventArgs e) => { Debug.Log (e.Data); }; this.ws.Connect (); GameObject.Find("SendButton").GetComponent<Button>().onClick.AddListener(OnClickSend); GameObject.Find("CloseButton").GetComponent<Button>().onClick.AddListener(OnClickClose); } void OnClickSend() { this.ws.Send (System.DateTime.Now.ToString ()); } void OnClickClose() { this.ws.Close (); } }
参考
UnityでWebSocket通信 http://hwks.hatenadiary.jp/entry/2014/07/20/022229
websocket(サーバーサイド)サンプル http://kaworu.jpn.org/javascript/ws