facebook twitter hatena line email

「Unity/websocket」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(参考)
(websocket(unity側))
行34: 行34:
 
  void Start () {
 
  void Start () {
 
  Debug.Log ("startstart");
 
  Debug.Log ("startstart");
  this.ws = new WebSocket ("ws://typetoon.cloudcore2:9001");
+
  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をビルドする

  1. ruby2.0以上を入れる
  2. brew install mono
  3. Example〜Example4を削除しwebsocket-sharp.slnないのExampleも削除する
$ xbuild websocket-sharp.sln
  1. 以下が作成されることを確認
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