Ты бы обьяснил зачем тебе это надо, тогда посоветовали бы чего умного.появился еше один вопросик:
я написал себе чат-сервер, в нем 1 поток создаеться на конекты, один на то что я ввожу на серве, и по 1 на каждый конект - на прием данных, так вот как можно зделать две программы - сам сервер и Auth сервер, которій будет ловить коннект, имееться ввиду я буду запускать их отдельно независимо друг от друга, но они должни использовать одни данные, ну или хотябы auth сервер должен передать все данные основному серве, но не через базы данных или файлы...
кто что подскажит
а поподробней?Ты бы обьяснил зачем тебе это надо, тогда посоветовали бы чего умного.
А так межпроцессное взаимодействие хорошо делается через все те же сокеты.
Тоже писал такую штуку, только через UDP-сокет. Так проще - ненадо обрабатывать подключения и создавать новые потокивобшето я сейчас учу С++, и затронул тему сокетов, потоков, баз даных - то что часто(наверно) применяеться на практике, и для изучения написал консольный чат-сервер и клиент к нему, взаимодействие до 1000 юзеров в онлайне, хто в онлайне и месаги сохраняю в базе, месаги - как лог
)
Ну обмен данными между клиентом и сервером у тебя идет через сокеты, вот точно так же можно реализовать обмен данными между процессами (поскольку клиент и сервер и так запущены как процессы).а поподробней?
вобшето я сейчас учу С++, и затронул тему сокетов, потоков, баз даных - то что часто(наверно) применяеться на практике, и для изучения написал консольный чат-сервер и клиент к нему, взаимодействие до 1000 юзеров в онлайне, хто в онлайне и месаги сохраняю в базе, месаги - как лог,
и вотя знаю что допустим для сервером MMORPG делают так:
1 сервер для конектов - аутентификации, а второй - сам гейм сервер, так вот и я в своей програме хочю разделить свой сервер - на тот что будет принимать конекты, а другой чисто для обмена сообщениями)
1-е хранить месаги в базе - для учебы))Ну обмен данными между клиентом и сервером у тебя идет через сокеты, вот точно так же можно реализовать обмен данными между процессами (поскольку клиент и сервер и так запущены как процессы).
Мессаги в базе хранить глупо, еще в файл для лога скидывать куда ни шло... Чат сервер просто должен транслировать приходящие сообщения всем учасникам.
Не знаю зачем в MMORPG несколько серверов, но для реализации отдельного сервера аутентификации я бы сделал так: сервер аутентифицирует юзеров и ложит в базу соотв. запись, потом указывает клиенту к какому серверу чата подключатся, сервер чата после подключения лезет в базу и ищет запись об аутентификации.
Хотя зачем это надо?
Кстати – дай ссылку на материал, где пишут что там несколько серверов для разных нужд.
Не надо записывать сокет в базу, сокет открывается между двумя потоками и передавать их проблематично.как записать в базу идентификатор сокета и его данные?? чтоб потом сервер мог их считать, так как сокет открываеться при аутентификации, и как перенаправить клиентпотом с ауз на основу?
ну да впринципи так и есть, ауз сервер служит для того чтоб конект был на один какбы сервер, а выбрать можнобыло несколько)Не надо записывать сокет в базу, сокет открывается между двумя потоками и передавать их проблематично.
В базу записывай пометку об аутентификации, например (IP, login) вошедшего юзера. А потом передавай юзеру адрес:порт подключения к основному серверу. Юзер отключается от этого сервера и соединяется с основным, который по базе проыеряет авторизировался ли этот пользователь.
ты в 11-ом?? не смеши =))ну да впринципи так и есть, ауз сервер служит для того чтоб конект был на один какбы сервер, а выбрать можнобыло несколько)
проше оставить так как есть)
кста что посоветуеш, я щас в 11 класе, но в перед 11 и в 11 хочю по программированию зделать какойто проект для защиты в МАН(мала академия наук), но идее нема, говори практически все что угодно, тема проекта должна быть нужная комуто, чтоб небило много аналогов, и что б был вполне реален в реализации