Войти
ПрограммированиеФорумСеть

С++ UDP Какие есть библиотеки?

Страницы: 1 2 3 4 Следующая »
#0
(Правка: 19:06) 19:05, 17 июня 2020

Есть winsock и нечто очень похожее на него в линуксе, но это всё сишные варианты.

А что есть именно под C++? Многого от библиотеки не надо, достаточно посылки бинарных сообщений переменной длинны без каких-либо гарантий.

Враппер под тот-же winsock хотя бы. У меня есть свой враппер, но может есть какая-то хорошая либа для сети?


#1
20:02, 17 июня 2020

enet?

#2
20:10, 17 июня 2020

raknet
boost asio

#3
20:22, 17 июня 2020

GameNetworkingSockets

#4
20:40, 17 июня 2020

TNL

#5
21:44, 17 июня 2020

Если ты ожидаешь, что с библиотекой проще работать, чем на голых сокетах, то обломаешься. Они не изолируют тебя от нижнего уровня, ты по прежнему должен разбираться во всех нюансах, плюс к проблемам сети добавляются заморочки от авторов библиотеки. По сути, если ты не можешь написать свою библиотеку, то не сможешь и пользоваться готовыми.

#6
21:47, 17 июня 2020

DirectPlay (вроде ещё должно работать)
Raknet

#7
21:57, 17 июня 2020

Zab
> Если ты ожидаешь, что с библиотекой проще работать, чем на голых сокетах, то
> обломаешься.
в разы проще.

#8
22:31, 17 июня 2020

Aroch
> в разы проще.
Только если у тебя рядом есть автор библиотеки или тот, кто в ее потрохах разбирается не хуже автора. А иначе ты вынужден со всеми глюками, которых неизбежно будет множество, лезть в реализацию и смотреть как там и что. И не факт что это проще, чем свою библиотеку соорудить.

#9
23:38, 17 июня 2020

Zab
>boost asio
у меня и так долго компилится, ещё и бууст уже будет перебор

>Если ты ожидаешь, что с библиотекой проще работать, чем на голых сокетах, то обломаешься. Они не изолируют тебя от нижнего уровня, ты по прежнему должен разбираться во всех нюансах, плюс к проблемам сети добавляются заморочки от авторов библиотеки. По сути, если ты не можешь написать свою библиотеку, то не сможешь и пользоваться готовыми.
я ожидаю, что мне не прийдётся год писать свою

Zab
>А иначе ты вынужден со всеми глюками
SOIL простая и рабочая либа, не обновлявшаяся кучу лет, но работает досихпор. мне не пришлось пока лезть в неё.

lookid
enet это сишная либа

Zab
RakNet is no longer available for license

romgerman
GameNetworkingSockets
А чего-нибудь попроще нет? На эту либу и примеров не находится.

refroqus
TNL GPL

Мизраэль
DirectPlay (походу померла)

#10
23:56, 17 июня 2020

Zab
> Они не изолируют тебя от нижнего уровня
Пользовал Enet. Изолировало, остался доволен,  хотя по началу тоже был свой непортируемый велосипед.


samrrr
> enet это сишная либа

А почему это проблема для С++? Особенно если задача всего-лишь "достаточно посылки бинарных сообщений переменной длинны без каких-либо гарантий".
Чисто для эстетики есть wrapper-ы типа https://github.com/xairy/enet-plus.
Еще для С++ есть POCO - но это монстр типа буста.

#11
0:44, 18 июня 2020

> Многого от библиотеки не надо, достаточно посылки бинарных сообщений
OMG, там три функции - socket, bind и sendto. Какие библиотеки?

#12
2:09, 18 июня 2020

Zab
> Только если у тебя рядом есть автор библиотеки или тот, кто в ее потрохах
> разбирается не хуже автора.
а примеры которые идут с библиотеками на что?
> А иначе ты вынужден со всеми глюками, которых
> неизбежно будет множество, лезть в реализацию и смотреть как там и что. И не
> факт что это проще, чем свою библиотеку соорудить.
не выдумывай.
samrrr
> RakNet is no longer available for license
ха?

+ Показать
#13
4:26, 18 июня 2020

raknet хороша тем, что когда лезешь к ней в потроха, а лазать придется, там никаких особых местных заморочек, все как сделал бы и сам, если бы писал аналогичное.

А буста зря боишься. Его же не обязательно подключать целиком, маленький его кусочек нагрузку на компилятор не дает особо. asio - совсем не тяжелый кусочек. Впрочем, и то, что раньше было тяжелым, на С++ 11-й редакции и позже резко полегчало. Некоторые не полегчавшие старые части буста и не надо уже использовать, лямбду например, в язык встроена более комфортная ее вариация, но с бустовской не совместимая.

#14
(Правка: 5:22) 4:49, 18 июня 2020

samrrr
> я ожидаю, что мне не прийдётся год писать свою
Год ты потратишь так или иначе, если с сетью плотненько не работал до этого. Дофига всего учитывать надо.
Конечно, не на написание софта год нужен, а чтобы большинство возникающих сетевых проблем стали узнаваемыми.

> а примеры которые идут с библиотеками на что?
Чем тебе поможет пример, если оно не работает, надо разбиваться кто виноват и что предпринять. Причин множество, часть из них вообще внешние. Пока не раскопаешь - не поймешь как компенсировать.

Страницы: 1 2 3 4 Следующая »
ПрограммированиеФорумСеть