Чтение из ТхТ - Форум - Все для Unity3d

Все для Unity3d> Чтение из ТхТ - Форум>
Страница 1 из 11
Форум » Unity » Вопросы » Чтение из ТхТ (помогите разобраться)
Чтение из ТхТ
HolyPenguinДата: Четверг, 08.01.2015, 14:37 | Сообщение # 1
Новый писатель
Группа: Пользователи
Сообщений: 2
Статус: Offline
Суть вопроса состоит в сравнении двух string-переменных:

1)клиент отправляет RPC, в котором две переменных Логин и Пароль

2)сервер принимает RPC, по Логину проверяет наличие текстового файла в папке с проектом сервера(Логин == НазваниеФайла). Если файл есть, то все Ок проверяем пароль.

3)Если пользоваться командой:

StreamReader reader = reader.ReadLine();

то все Ок, но приходиться читать весь файл по строчкам, до нужной строки. Хотелось бы отойти от чтения всего фала по строчке, и находить только нужную строку.

4) Для этого пользую следующий вариант:

StreamReader reader = читаем файл в папке;
string someInfo = reader.ReadToEnd();
string[] someInfoByLines = someInfo.Split("\n"[0]);

дальше сверяю полученные строки с переменной Пароль, по типу:

if(someInfoByLines[1] == Пароль) {делаем}

5) Проблема в том, что при использовании первого варианта все работает и переменные совпадают, а во втором варианте переменные НЕ равны.
В самом инспекторе заметил(через Debug.Log), что при разбивке на линии остается небольшой пробел между строками(не обычный пробел, а именно "небольшой").

Как от него избавиться?
 
vakДата: Четверг, 08.01.2015, 15:23 | Сообщение # 2
Новый писатель
Группа: Пользователи
Сообщений: 24
Статус: Offline
попробуй использовать функцию Trim() и попробуй добавить перед "\n" символ "\r"


P.S. не знаю зачем ты собираешься хранить логин и пароль на машине сервера в текстовом документе, ведь почти что в любом случае это лучше заносить в какую-либо структурированную БД. но ладно, дело твое, тем более с документом проще
 
HolyPenguinДата: Четверг, 08.01.2015, 15:28 | Сообщение # 3
Новый писатель
Группа: Пользователи
Сообщений: 2
Статус: Offline
Спасибо за ответ, обязательно попробую.

С Базами не знаком, поэтому для практики сетевого решения хочу все правильно сделать с тхт.
 
vakДата: Четверг, 08.01.2015, 15:54 | Сообщение # 4
Новый писатель
Группа: Пользователи
Сообщений: 24
Статус: Offline
если у тебя будет глобальный сервер (все игроки будут играть только на нем, ну, или несколько серверов, которые принадлежат именно тебе), то можно специально запустить для этого SQL сервер (MySQL, например) и создать таблицу пользователей (можно даже хранить хэши паролей, как это обычно делается на сайтах и сверять их). но здесь будут некоторые проблемы с безопасностью, и лучше с ними справится до релиза самой игры. например, НИКОГДА не храни логин и пароль от БД в игровом клиенте (так делают многие, а зря). лучше пиши специальные скрипты-обработчики для сервера, которые как раз подключаются к базе данных локально, и пусть они делают все операции (регистрируют пользователя, или авторизируют его). но все же я ошибся в прошлом сообщении. если у тебя будет игра основана на том, что люди будут создавать свои сервера и у каждого сервера будет база аккаунтов, то тогда можно использовать текстовый документ (и лучше, потому что проще и нагрузка не такая большая)

Сообщение отредактировал vak - Четверг, 08.01.2015, 15:55
 
HolyPenguinДата: Пятница, 09.01.2015, 18:35 | Сообщение # 5
Новый писатель
Группа: Пользователи
Сообщений: 2
Статус: Offline
это не первая моя попытка разобраться с сетью и серверами, так что я ,в принципе, с этой информацией знаком, но все равно спасибо за комментарий и уделенное время =)

зы: логин сцена будет запущена на одной машине(возможно сам игровой процесс будет управляться второй), у клиентов доступа к базе не будет, только отправление рпц. Сервер-сцена в свою очередь проверяет и обрабатывает их, только потом вносит изменения и отвечает клиенту.

Добавлено (09.01.2015, 18:35)
---------------------------------------------
Вот решение моей проблеммы, все работает:

string[] someInfoByLines = someInfo.Split( new string[]{ System.Environment.NewLine }, System.StringSplitOptions.RemoveEmptyEntries );

 
Форум » Unity » Вопросы » Чтение из ТхТ (помогите разобраться)
Страница 1 из 11
Поиск:
Свернуть
Развернуть
Необходима авторизация
0
ТОП-5 САЙТА
НОВЫЕ ИГРЫ
ГОРЯЧИЕ ТЕМЫ
СЛУЧАЙНЫЕ ФАЙЛЫ