Telepathy Transport
https://github.com/vis2k/Telepathy
Простой, основанный на сообщениях, MMO-масштабируемый TCP на C#. И никакой магии.
Telepathy в уме был спроектирован с KISS Principle.
Telepathy быстрый и очень стабильный, спроектирован для MMO масштабируемой сети.
Telepathy использует фрейминг, поэтому все отправленное будет получено таким же образом.
Telepathy написан на C# и также может быть использован в Unity3D.
Telepathy доступен на GitHub
Что делает Telepathy особенным?
Telepathy был спроектирован для uMMORPG после 3 лет в аду UDP.
Нам нужна была библиотека, которая была бы:
Стабильной и с отсутствием ошибок: Telepathy использовало только 400 строчек кода. Никакой магии.
С высокой производительностью: Telepathy может обрабатывать тысячи подключений и пакетов.
Конкурентноспособной: Telepathy использует один поток для каждого соединения. Он может интенсивно использовать многоядерные процессоры.
Простой: Telepathy сам заботится обо всём. Всё что нужно, так это вызвать Connect/GetNextMessage/Disconnect.
Основанная на сообщениях: если мы отправляем 10, а затем 2 байта, то другой конец получает 10, а затем 2 байта, но никогда не 12 сразу.
MMORPG безумно сложно создать, и мы создали Telepathy, чтобы нам больше никогда не пришлось беспокоиться о низкоуровневых сетях.
Что насчет...
Асинхронные сокеты: не показали лучших результатов в наших тестах.
ConcurrentQueue: совместимость с .NET 3.5 важна для Unity. В любом случае это было не быстрее нашего SafeQueue.
UDP vs. TCP: Minecraft и World of Warcraft - две крупнейшие многопользовательские игры всех времен, и обе они используют сеть TCP. На это есть причины.
Last updated