Построение своих собственных сетевых серверов Юнити. Скачать видео и вырезать мп3 - у нас это просто

Наверное каждый, кто делал игру для социальной сети или просто онлайн игру сталкивался с проблемой подключения и сохранения данных в базу данных. В этой статье я постараюсь подробно описать как установить подключение и передать данные в базу данных MySQL с помощью PHP.

Итак, приступим, для начала создайте в Unity C# скрипт, назовите его MysqlConnect и внесите в него следующий код:

Using UnityEngine; using System.Collections; public class MysqlConnect: MonoBehaviour { private string username = ""; //Переменная для хранения имени private string pswd = ""; //Переменная для хранения пароля private string email = ""; //Переменная для хранения почтового ящика private string url = "http://www.localhost.ru/habr/connect.php"; //Переменная для хранения адреса //Создание метода, отвечающего за подключение и передачу данных void Connect() { WWWForm form = new WWWForm(); //Создаём новую форму //Добавляем в форму новые данные form.AddField("username", username); form.AddField("password", pswd); form.AddField("email", email); //Создаём новое подключение WWW connect = new WWW(url, form); //Если удалось установить подключение if (connect.isDone) { //Выводим в консоль ответ сервера Debug.Log(connect.text); } //Если при подключении возникла ошибка else if (connect.error == null) { //Выводим в консоль текст Error Debug.Log("Error"); } } //Создаём метод OnGUI() void OnGUI() { //Создаём текстовое поле для ввода имени пользователя username = GUI.TextField(new Rect(Screen.width/2-100, Screen.height/2-100, 200, 20), username, 12); //Создаём текстовое поле для ввода пароля pswd = GUI.TextField(new Rect(Screen.width/2-100, Screen.height/2-75, 200, 20), pswd, 12); //Создаём текстовое поле для ввода почтового ящика email = GUI.TextField(new Rect(Screen.width/2-100, Screen.height/2-50, 200, 20), email, 50); //Создаём кнопку для произведения подключения if (GUI.Button(new Rect(Screen.width/2-100, Screen.height/2-25, 200, 20), "Connect")) { Connect(); } } }

В данном скрипте производится запрос к PHP скрипту и ему передаются данные, введённые пользователем.

Теперь, давайте создадим PHP скрипт и назовём его connect.php:

Данный скрипт принимает данные из движка и заносит их в базу данных MySQL. Обратите внимание, название скрипта PHP (connect.php) должно соответствовать названию скрипта в значении переменной url. Вроде бы на этом всё… Надеюсь эта информация стала полезной для кого-либо.
Это моя первая статья, надеюсь всё подробно описал и Вы решили свою проблему.

Всем доброго времени суток, в этом цикле статей я расскажу как создать базу данных на бесплатном интернет хостинге, и получить доступ к ней из вашей игры, сделанной на Unity3d.

Допустим вы создали онлайн игру и перед вами встала задача добавить возможность сохранения набранных очков пользователем, с возможностью вывода этих очков в HiScore. Для этого вам необходимо хранить эти очки на сервере с возможностью постоянного доступа к нему.

Я использовал бесплатный хостингwww.byethost.com . И так регестрируемся на www.byethost.com , на почту вам должно прийти письмо с логином и паролем. Авторизуемся на сайте, потом заходим в панель управления. Выбираем MySQL Database :





В появившемся окне в поле вводим имя вашей базы данных, и жмем Create Database . База данных создана теперь заходим в панель управления базой данных, жмем кнопку Admin . У вас должно появиться следующее окошко:






Создадим новую таблицу в которой будем хранить имя пользователя и набранные очки. В поле «Имя» введите название таблицы, например «scores» , в поле «Количество столбцов» введите «2», и нажмите «Ок» . Появится окно где нужно заполнить названия столбцов и тип хранимых данных. В первом столбце будем хранить имя пользователя: поле - name , тип - varchar , длинна - 20. Второй столбец: поле – score , тип int. Нажимае «Сохранить» , таблица создана. Теперь выберите созданную таблицу, у вас появится окно со структурой таблицы, и внизу будет надпись «Индекс не определен» . Напротив столбца «Name» нажмите «ещё» и выберите "добавить индекс".





База данных создана, теперь необходимо осуществить доступ к ней. Так как на сервере порт 3306 закрыт для внешнего доступа , по которому осуществляется связь с MySQL , мы не можем удаленно, из нашего приложения осуществлять доступ к базе данных. По этому мы создадим php скрипт в котором будет осуществляться доступ к нашей БД, чтение и запись данных и расположим его на сервере, а из приложения уже будем получать данные через этот скрипт.

И так создайте следующий php-скрипт:


?PHP // Connect to Database $link = mysql_connect("hostname", "username", "password") or die(mysql_error()); mysql_select_db("databasename") or die(mysql_error()); // Get Data $name = $_POST["name"]; //Get name from Unity $score = $_POST["score"]; //Get score from Unity $action = $_POST[ "action" ]; //Get request action from Unity $unityHash = $_POST[ "hash" ]; //Get hash key from Unity //Секретный ключ для шифрования данных при передаче $secretKey="BRIGHTWORLDGAMES"; $phpHash = md5($name."-".$score."-".$secretKey); switch ($action) { case "GetScore": GetScores(); break; case "PostScore": if($phpHash == $unityHash) { PostScore(); } break; default: GetScores(); break; } //////////////////////////////////////////////////////////////////////////////////////// function PostScore() { $score = $_POST[ "score" ]; //score pass from Unity $name = $_POST[ "name" ]; //name pass from Unity //scores = имя вашей БД //name = Первый столбец //score = второй столбец $query = "INSERT INTO scores (name, score) VALUES ("" . $name . "", "" . $score . "")"; mysql_query($query) or die(mysql_error()); } //////////////////////////////////////////////////////////////////////////////////////// function GetScores() { if($_POST[ "size" ] != "") { $size = $_POST[ "size" ]; } else { $size = 10; } $query = "SELECT * FROM scores ORDER BY score DESC LIMIT " . $size; $results = mysql_query($query) or die(mysql_error()); //Return XML String to Unity echo "\n"; echo " \n"; if(mysql_num_rows($results) > 0) { while($line = mysql_fetch_array($results)) { echo " \n"; } } else { echo "No entries yet."; } echo " \n"; } //////////////////////////////////////////////////////////////////////////////////////// // Close mySQL Connection mysql_close($link); ?>

Hostname вы можете посмотреть на панели слева, имя пользователя и пароль к БД должны были прийти вам на почту. Назовите данный скрипт HiScore , и залейте его на сервер через ftp (адрес ftp также можно увидеть на панели слева) , в папку “htdocs” . На этом работа с сервером закончена, и можно переходить к клиентской части приложения.


Скачать видео и вырезать мп3 - у нас это просто!

Наш сайт - это отличный инструмент для развлечений и отдыха! Вы всегда можете просмотреть и скачать онлайн-видео, видео приколы, видео скрытой камеры, художественные фильмы, документальные фильмы, любительское и домашнее видео, музыкальные клипы, видео про футбол, спорт, аварии и катастрофы, юмор, музыка, мультфильмы, аниме, сериалы и многие другие видео совершенно бесплатно и без регистрации. Конвертировать это видео в mp3 и другие форматы: mp3, aac, m4a, ogg, wma, mp4, 3gp, avi, flv, mpg и wmv. Онлайн Радио - это радиостанции на выбор по странам, стилям и качеству. Онлайн Анекдоты - это популярные анекдоты на выбор по стилям. Порезка mp3 на рингтоны онлайн. Конвертер видео в мп3 и другие форматы. Онлайн Телевидение - это популярные TV каналы на выбор. Вещание телеканалов производится абсолютно бесплатно в режиме реального времени - эфир онлайн.