|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.06.2010, 21:54 | #1 |
Пользователь
Регистрация: 09.01.2009
Сообщений: 21
|
Клиент-Сервер
Всем привет!
Я сейчас пытаюсь написать сетевой движок для онлайн игры(интернет), в жанре RPG Суть такая что, нужно передавать координаты игроков + инфо о подключении кого либо. ( разумеется еще много чего но не об этом дело ). Я выбрал библиотеку SDL net после того как потыкал штук 10 разных, мне она показалась наиболее удобной для работы. Пишу на плюсах. Я сейчас думаю как лучше спроектировать это дело. Начитавшись посты я понял что лучше использовать TCP, если все нормально спроектировать это норм. Мое видение: - Запускаем сервер, начинаем слушать порт xxxx - Клиент-> коннект - Сервер -> шлет всем данные о новом подключении - Открываем два потока для каждого подключения: 1) Принимает данные 2) Отсылает данные ( разговор о блокирующих обменах ) ну и далее общение Собственно я хочу спросить у про по данной части. Как я понимаю открывать для каждого подключения по потоку это плохо. Как лучше всего организовать обменн данными, последовательный? Или оставить потоки. Собственно пока требуется от сервера немного, человек на 30. Но хотелось бы спроектировать все так, что бы потом не ковыряться и заного не переписывать весь код. Также жду советов по внутренней архитектуре, создавать очереди событий я считаю плохо, ибо будет сильно запаздывать. Ну то есть в плане оптимизации ест советы. Либо статьи какие. Если я что то не подробно обьяснил вы меня пните |
23.06.2010, 10:44 | #2 |
Форумчанин
Регистрация: 02.07.2009
Сообщений: 722
|
Сервер слушает определенный порт, при подключении создается новый поток и создаешь сокет с данным подключением... далее в этом потоке можешь общатся с клиентом, а сервер будет дальше подключать клиентов..
Клиент тупо конектится к определенному айпи и порту и общается и все) |
23.06.2010, 14:26 | #3 |
Пользователь
Регистрация: 09.01.2009
Сообщений: 21
|
Я принципе так и делаю, но есть мысли переделать на 3-4 потока, 1 слушает, на второй повесить логику, 3 отсылает ( или ждет если нет работы ). Грубо говоря я думаю как все это дело получше опимизировать, для максимальной производительности.
Также очень жду советов от людей, которые уже работали в данной области, разработки многопользовательских серверов. Последний раз редактировалось neo-210; 23.06.2010 в 14:40. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сервер+клиент+клиент на телефон | Razyiller | Работа с сетью в Delphi | 3 | 01.04.2010 20:10 |
клиент сервер | balamut | Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) | 2 | 01.11.2009 04:43 |
Возможно-ли Клиент-серверное приложение типа Клиент(Pascal) а сервер(CGI)? | Demol | Работа с сетью в Delphi | 1 | 21.04.2009 16:18 |
Клиент-сервер-клиент | Кронос | Работа с сетью в Delphi | 3 | 24.08.2007 07:57 |