Показать сообщение отдельно
Старый 17.08.2011, 20:12   #3
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: BlitzMAX сервер / Blitz3D клиент (RakNET)

Дело в том что сам RakNet имеет свой протокол над пакетами, и независимо от посылаемой информации которую шлёт пользователь, там в пакете будет различного рода информация для стабилизации передачи пакетов по UDP, для стабилизации очерёдности и другое. Поэтому просто так с сокетами и прямой комуникацией не выйдет.

Используй чистую коммуникацию через сокеты, т.к. с библиотеками (такими как RakNet), тебе нада знать специфику их пакетов. Также UDP для начинаний - не лучший выбор, бери TCP.

Почему именно RakNet? Я лично пробовал его использовать, и потом всё таки решил писать своё. И очень доволен, и опыт, и контроль над самим сетевым API полный. И сериализация достойная и кучу всего другого.

Пишу если что сервер на C# (.Net 4.0). Клиента на C# тоже (.Net 2.0), но также в скором будет клиент и на BlitzMax'е.

Да и насчёт C, тут спорно всё, для чего нужен сервер? Если это гипер проект (ММО убийца WoW, то можно и на C), но снова зависит от специфики проекта. Тот же EVE вообще написан на Python.
Если это игра с матчами, можно взять и Java или C#, где о многих вещах не нужно париться, и они практически не проигрывают в производительности тому же С, если правильно разрабатывать. (Конечно речь не идёт о высоко-нагруженных системах)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
LLI.T.A.L.K.E.R. (17.08.2011)