質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WebSocket

WebSocketとは双方向・全二重コミュニケーションのためのAPIでありプロトコルのことを指します。WebSocketはHTML5に密接に結びついており、多くのウェブブラウザの最新版に導入されています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

6772閲覧

WebSocketを利用したUnityとPythonの接続について

jinbeizame007

総合スコア8

WebSocket

WebSocketとは双方向・全二重コミュニケーションのためのAPIでありプロトコルのことを指します。WebSocketはHTML5に密接に結びついており、多くのウェブブラウザの最新版に導入されています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2016/05/29 06:47

編集2016/05/29 13:01

###前提・実現したいこと
UnityとPythonとWebSocketを使い、Pythonでサーバを用意し、Unityが文字列を送るとPythonが同じ文字列を返すシステムを作っています。Pythonはws4py、UnityはWebSocketSharpを使用しています。

###発生している問題・エラーメッセージ
現在、UnityとPythonの接続すら出来ていない状態です。
接続しようとしてUnity側でOpenせずCloseだけします。

###該当のソースコード
Unity

using UnityEngine; using System.Collections; using WebSocketSharp; using WebSocketSharp.Net; public class Net : MonoBehaviour { public string WSAddress = "ws://127.0.0.1:3000"; WebSocket ws; void Start(){ Connect(); } void Connect () { ws = new WebSocket (WSAddress); ws.OnOpen += (sender, e) => { Debug.Log ("WebSocket Open"); }; ws.OnMessage += (sender, e) => { Debug.Log ("WebSocket Message Type: " + e.Type + ", Data: " + e.Data); }; ws.OnError += (sender, e) => { Debug.Log ("WebSocket Error Message: " + e.Message); }; ws.OnClose += (sender, e) => { Debug.Log ("WebSocket Close"); }; ws.Connect (); } void Send (string message) { ws.Send (message); } void FixedUpdate(){ if (Input.GetKeyUp (KeyCode.Space)) { Send ("Test Message"); } } }

Python3

import cherrypy from ws4py.server.cherrypyserver import WebSocketPlugin, WebSocketTool from ws4py.websocket import WebSocket cherrypy.config.update({'server.socket_port': 3000}) WebSocketPlugin(cherrypy.engine).subscribe() cherrypy.tools.websocket = WebSocketTool() class Root(object): @cherrypy.expose def index(self): return 'some HTML with a websocket javascript connection' @cherrypy.expose def ws(self): # you can access the class instance through return 'received' handler = cherrypy.request.ws_handler class AgentServer(WebSocket): def opened(self): print ("Socket opened") def received_message(self, m): self.send('received') cherrypy.quickstart(Root(), '/', config={'/ws': {'tools.websocket.on': True, 'tools.websocket.handler_cls': WebSocket}})

###エラーメッセージ
An error has occurred in sending data.

###補足情報(言語/FW/ツール等のバージョンなど)
Unity5,Python3.5.1
初学者でしてまだWebSocketなどの理解もあまり出来ていない状態です。丁寧に教えて頂けるととても嬉しいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問