読者です 読者をやめる 読者になる 読者になる

AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

UnityからHTTPでGETする

通信処理

ソケット通信とか遠回りで考えていたけど、HTTPのGETはあっさり動いた(^_^;)
WWWはここに仕様がある。バイナリのダウンロードもできる模様(完了も判る)
Unity - Scripting API:

ローカルの自宅サーバーのCGIにURL引数付きで投げた例
別にルーターの外でも問題ない。

using UnityEngine;
using System.Collections;

public class Main : MonoBehaviour {
	void Start ()
	{
		StartCoroutine( GET("http://192.168.1.26/memo/unity.cgi?a=get&k=name") ); 
	}
	IEnumerator GET(string url)
	{
		WWW www = new WWW(url);
		yield return www;
		if (www.error == null) {
		    Debug.Log(www.text);
		}
		else {
		    Debug.Log("fail");
		}

	}
}

 サーバーサイドはperlで書いたCGIだが、DBはKeyValue型のTokyoCabinetというメモリ型DBを用いている。(うちの24H稼動サーバーでは大変お世話になっている)

#!/usr/bin/perl

use CGI::Carp qw(fatalsToBrowser); 
use CGI;
use Jcode;
use TokyoTyrant;

our $cgi = CGI->new;
print CGI::header(-charset=>"utf-8");

our $key   = $cgi->param('k');
our $value = $cgi->param('v');
our $act   = $cgi->param('a');

our $tb = TokyoTyrant::RDB->new();
$tb->open( "localhost", ポート番号は秘密です);

if($act eq "set")
{
	$tb->put( $key , $value );
}
if($act eq "get")
{
	$value = $tb->get( $key );
	print $key."<>".$value."\n";
}

$tb->close();
exit;
広告を非表示にする