LINUX.ORG.RU

TCP, UDP - кроссплатформенная обёртка для Си/Си++


0

3

Какие обёртки наиболее надёжны? Что-то в недрах boost вроде бы есть, связанное с сетью?
ip::tcp::socket — оно?

Мне нужно для кроссплатформенности (чтобы сервер работал под виндой и под линуксом) ... синхронно править код под обе платформы (через #ifdef) - отнимает много времени.

★★★★★

Я использовал boost. Работает, после java удобство так себе, но писать можно. Кроссплатформенно.

note173 ★★★★★
()

boost asio - немного странная штука, но я на ней несколько серверов склепал.

kulti ★★
()

практически любая кросплатформенная библиотека, окромя тех что уже озвучили, я работал с libSDL, Poco, ptlib. вообще, считаю если что начинать писать - то только на кроссплпатформенных либах, мало ли вдруг потом портировать придется..

LinuxUser-0x0
()

вам нужна именно система работы с вводом/выводом (сокетом) в асинхронном режиме типа libevent, libev (boost::asio мне не нравится) так как в предыдущей теме вас волновала производительность

punya ★★
()

Мне нужно для кроссплатформенности (чтобы сервер работал под виндой и под линуксом) ... синхронно править код под обе платформы (через #ifdef) - отнимает много времени.

да просто надо там, где есть различия между платформами, заворачивать в макросы. И код придется править через #ifdef только в одном месте

например, так

#ifdef WIN32
#define CLOSE(s) closesocket(s)
#else
#define CLOSE(s) close(s)
#endif
Harald ★★★★★
()
Ответ на: комментарий от placement_new

1. не работает подключение к ipv6 адресам и ipv6-only хостам (libevent неправильно создает сокет, разработчикам об этом известно)

2. в связке с bufferevent_openssl не всегда работают запросы с телом (POST, PUT ...).

3. в связке с evdns иногда происходит залипание http-соединения, никакие таймауты не срабатывают, баг ооочень редкий

До 2.0.11 в некоторых случаях были проблемы с закрытием http-соединения, когда event'ы безвозвратно удалялись, что приводило опять же к залипаниям и прочим феерическим «радостям»

Reset ★★★★★
()

внезапно ptlib ;))

anonymous
()

Какие обёртки наиболее надёжны?

Абсолютно все. Это, друг мой, компьютеры - тут либо работает, либо не работает.

А зачем вообще обёртки? Разве обычный сокетный код не собирется, скажем, mingw32?

slovazap ★★★★★
()

Буду оригинален - enet (udp)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.