|
1 / 1 / 2
Регистрация: 26.03.2012
Сообщений: 88
|
|
Считывание из файла, когда знаем его структуру26.01.2013, 04:18. Показов 1502. Ответов 8
Метки нет (Все метки)
Собственно есть некоторые конфигурационные файлы. Типа:
Кликните здесь для просмотра всего текста
######################################## #
# Caladuen project # # Login Server # # Файл конфигурации сервера server.cfg # # Настройка основных параметров таких # # Как ip,port и данные подключения к бд # # Admin@ld-games.com # ######################################## # #Вся конфигурация в данном конфигурационном файле, ровно так же как и в других загружается единожды при запуске сервера #И попадает в статические константы. Для того что бы изменения вступили в силу необходимо перезагрузить сервер #Если он был запущен. #ip адрес сервера авторизации ipls= 127.0.0.1; #port сервера авторизации portls= 7770; #ip адрес чат сервера ipchs=127.0.0.1; #Port чат сервера portchs=7772; #данные подключения к mysql #Пользователь userbd= root; #Пароль passwordbd=123321; #Имя базы namebd = caladuen; #Насатройки ниже нужны для того что бы организовать бд на другой машине #Если бд находится на том же физическом сервере что и сервер то не следует менять #Настройки приведенные ниже #ip адрес бд bdip = 127.0.0.1; #Порт бд bdport = 3306; #Производить ли автоматическую регистрацию пользователей? autoregistr=false; #Максимальное число попыток входа #Стандартно 5 maxconect = 5; #На сколько банить пользователя в секундах при превышении #Максимальным попыток входа заданных выше. #Если 0, то опция не действует(Не будет банить пользователей) #Стандартно 5минут = 300с bantime = 300; #Максимальное количество клиентов. maxusers = 1000; #Уровень системных сообщений, вывод и лог #Различается 2 уровня. DEBUG и NORMAL #Если параметр true то будут выводится дополнительные сообщения с пометкой DEBUG #Если параметр false то в вывод попадут только INFO и EROR debugon=true; Собственно нужно считать в при запуске приложения в java все эти поля. То есть в java считываем в static finaly. и потом в будущем проверяем и т.д. Дак вот как собственно можно считать, пропуская строку с # и разделяя параметры на имязначения=значение ? Можно даже не пример, ссылку хотя бы на мануал какой нибуть. И то в java не так давно...)
0
|
|
| 26.01.2013, 04:18 | |
|
Ответы с готовыми решениями:
8
Считывание из файла в структуру Считывание из файла в структуру Считывание данных из файла в структуру |
|
|
|
| 26.01.2013, 10:13 | |
|
0
|
|
|
1 / 1 / 2
Регистрация: 26.03.2012
Сообщений: 88
|
|||||||||||
| 27.01.2013, 03:35 [ТС] | |||||||||||
|
Пока получилось так
Кликните здесь для просмотра всего текста
Собственно как перейти на другую строку, если мы наткнулись на # ? Добавлено через 36 минут Вообщем решил использовать CharAt но полетели эксепшины. Не понятно откуда... Кликните здесь для просмотра всего текста
Пишет мол Exception in thread "main" java.lang.StringIndexOutOfBoundsExceptio n: String index out of range: 0 at java.lang.String.charAt(String.java:658) at loginserver.Start.loadconfig(Start.java: 54) at loginserver.Start.main(Start.java:19) at sun.reflect.NativeMethodAccessorImpl.inv oke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.inv oke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.jav a:43) at java.lang.reflect.Method.invoke(Method.j ava:601) at com.intellij.rt.execution.application.Ap pMain.main(AppMain.java:120) Что не так с индексом?.. Вот файл который пытаюсь считывать Кликните здесь для просмотра всего текста
######################################## #
# Caladuen project # # Login Server # # Файл конфигурации сервера banip.cfg # # Cписок запрещенных ip адресов # # Admin@ld-games.com # ######################################## # #ip записываются по одному на строчку. #Внимание!!! Эти пользователи не смогут зайти в игру. И будут получать сообщение о том что они забанены. #Это так называеммый вечный бан по ip. Бан на какой либо промежуток времени происходит по средствам бд. #Пример: #127.0.0.1 #127.0.0.2 #127.0.0.3 Вот это должен вывести И это Ну и как без этого то? #И еще раз коментарий А вот это в последнюю очередь Добавлено через 28 минут Разобрался... Это не метод тупит. А я туплю, что и было очевидно))) Только вот искал я очень долго ошибки в коде, и так пробовал, и так. А оказалось что просто у меня с файлом проблемы.А у него длинная история... Создавал под debian, потом правил в windows + не понятно какой табуляцией сверху была сделана рамка( там и табуляция, и пробелы) в итоге оно у меня и выдавало ошибки. Вообщем то создал новый файл в кодировке utf-8(без bom) Кликните здесь для просмотра всего текста
#Какой либо коментарий!
Число1 число2 число3 И все отлично сработало, пропустив коментарий. p/s только сейчас понял на сколько глупо было создавать подобную тему...Все что было нужно, зделать цикл и продумать логику(конкретно для моего случая) сначала копал не в ту сторону запросами к гуглу мол как считать строку из файла java. А потом уже стал искать описание классов, когда натыкался на темы и т.д. Ну и наткнулся на вот такую статью http://kek.ksu.ru/EOS/Java/gl4_3.html от куда и стал черпать)) потом по документации метада, и stinga от туда то и узнал что можно получить символ как charat(index). Вообщем проблема у меня вечно только одна.А именно не знание классов. То есть. вот например хочу что то сделать, а какой класс за это отвечает не понятно) и начинается поиск... )) ну это поди у всех так, на первых парах, потом уже запоминается. Сейчас вот уже перейду к работе с сетью, как уже писал выше пишу я сервер под mmorpg. Не подскажете классы, где о чем почитать, может какая статейка?. С сетью раньше не работал вообще,не в C# не в другом языке, так что вот только собираюсь осваивать. Где то находил интересный мануал, там сравнивались сокеты, с некоторыми гнездами к которым подключаются и т.д Вообщем интересно все по данному поводу. Дело в том что пакеты придется выталкивать не заполненные, и желательно как можно меньше. Ибо грузить лишний раз трафик не гуд, он сам нагрузится когда придет время(mmorpg же, куча информации синхронизировать и т.д ну понимаете да?) ну и вот сообственно хочется подойти к этому вопросу так сказать во все оружии. ЧТо бы потом не пришлось переделывать. Протокол думаю использовать TCP., как основной. И возможно местами UDP. За последний не хочется браться из за того что у него бывают потери и т.д придется всячески проверять потерялись ли байты. А с байтами у меня не айс...Из коледжа то не чего не помню по поводу байтов не перевести из двоичной в десетичную не обратно. В свое время думал что эта фигня мне не потребуется, так как я уже на то время писал на C# и не использовал байты, и думал что зачем мне так углублятся, в низкоуровневое программирование, когда я буду писать на высокоуровневых языках?... Ну вот и встрял теперь))) все равно начинаю понимать что стоит изучить каким образом строятся стоки из байтов, каким образом передаются байты по сети, как их сравнивать.. Ухх что то я много тут настрочил. Вообщем если у кого есть какая либо информация по тому что я описал, будь те добры поделится))) И да, ваше мнение, стоит ли лезть в байты, и с чего начать? все таки они пригодятся, особенно в сети.. Ну хотя бы понимать как они собираются и т.д)) Заранее благодарен) Добавлено через 12 минут Да и еще, а вот в какую сторону смотреть по поводу запрета ip из определенной страны. Ну вот допустим хочу запретить доступ в игру из китая. Как по ip методами java можно определить в какой стране пользователь. И реально ли это? Подразумеваю что да, так как вот например когда скажем на машинку с той же debian обрушивается куча атак из , ну скажем Кореи то просто блакируют эту страну. Видел это где то на форуме, советовали заблокировать доступ из стран, в файерволе.Получается это реально?. Можно узнать страну? дальше я уже сам набросаню констант и буду ifами сравнивать, и пускать или нет)
0
|
|||||||||||
|
|
||||||||||||
| 27.01.2013, 03:36 | ||||||||||||
|
прочитали бы документацию по ссылке и сделали бы простенький код
1
|
||||||||||||
|
1 / 1 / 2
Регистрация: 26.03.2012
Сообщений: 88
|
|
| 27.01.2013, 03:39 [ТС] | |
|
Ого))) Неплохо)остается только разбить) ну это уже сделаю) да, так гораздо проще получается))
0
|
|
|
1 / 1 / 2
Регистрация: 26.03.2012
Сообщений: 88
|
||
| 27.01.2013, 03:46 [ТС] | ||
|
Вообщем то нарыл) http://habrahabr.ru/post/138067/ используют базы sypexgeo, остается поискать аналоги, посмотреть может у конкурентов базы посвежее и собственно прикручивать)
0
|
||
|
1 / 1 / 2
Регистрация: 26.03.2012
Сообщений: 88
|
||
| 27.01.2013, 06:11 [ТС] | ||
)
0
|
||
| 27.01.2013, 06:11 | |
|
Помогаю со студенческими работами здесь
9
Считывание слов из файла, в структуру данных Считывание смешанной строки из файла в структуру
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|