powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / uWebSockets - как узнать, какая либа ему нужна?
25 сообщений из 36, страница 1 из 2
uWebSockets - как узнать, какая либа ему нужна?
    #39958515
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при попытке скомпилировать
g++ HelloWorld.cpp -I/usr/local/include/uSockets
он выдаёт такую портянку:
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::DeflationStream::~DeflationStream()':
HelloWorld.cpp:(.text._ZN3uWS15DeflationStreamD2Ev[_ZN3uWS15DeflationStreamD5Ev]+0x14): undefined reference to `deflateEnd'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::InflationStream::~InflationStream()':
HelloWorld.cpp:(.text._ZN3uWS15InflationStreamD2Ev[_ZN3uWS15InflationStreamD5Ev]+0x14): undefined reference to `inflateEnd'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::Loop::wakeupCb(us_loop_t*)':
HelloWorld.cpp:(.text._ZN3uWS4Loop8wakeupCbEP9us_loop_t[_ZN3uWS4Loop8wakeupCbEP9us_loop_t]+0x14): undefined reference to `us_loop_ext'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::Loop::preCb(us_loop_t*)':
HelloWorld.cpp:(.text._ZN3uWS4Loop5preCbEP9us_loop_t[_ZN3uWS4Loop5preCbEP9us_loop_t]+0x14): undefined reference to `us_loop_ext'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::Loop::postCb(us_loop_t*)':
HelloWorld.cpp:(.text._ZN3uWS4Loop6postCbEP9us_loop_t[_ZN3uWS4Loop6postCbEP9us_loop_t]+0x14): undefined reference to `us_loop_ext'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::Loop::init()':
HelloWorld.cpp:(.text._ZN3uWS4Loop4initEv[_ZN3uWS4Loop4initEv]+0x19): undefined reference to `us_loop_ext'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::Loop::create(void*)':
HelloWorld.cpp:(.text._ZN3uWS4Loop6createEPv[_ZN3uWS4Loop6createEPv]+0x2f): undefined reference to `us_create_loop'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::Loop::free()':
HelloWorld.cpp:(.text._ZN3uWS4Loop4freeEv[_ZN3uWS4Loop4freeEv]+0x14): undefined reference to `us_loop_ext'
/usr/bin/ld: HelloWorld.cpp:(.text._ZN3uWS4Loop4freeEv[_ZN3uWS4Loop4freeEv]+0x30): undefined reference to `us_loop_free'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::Loop::removePostHandler(void*)':
HelloWorld.cpp:(.text._ZN3uWS4Loop17removePostHandlerEPv[_ZN3uWS4Loop17removePostHandlerEPv]+0x18): undefined reference to `us_loop_ext'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::Loop::removePreHandler(void*)':
HelloWorld.cpp:(.text._ZN3uWS4Loop16removePreHandlerEPv[_ZN3uWS4Loop16removePreHandlerEPv]+0x18): undefined reference to `us_loop_ext'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::Loop::run()':
HelloWorld.cpp:(.text._ZN3uWS4Loop3runEv[_ZN3uWS4Loop3runEv]+0x14): undefined reference to `us_loop_run'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::HttpContext<true>::create(uWS::Loop*, us_socket_context_options_t)':
HelloWorld.cpp:(.text._ZN3uWS11HttpContextILb1EE6createEPNS_4LoopE27us_socket_context_options_t[_ZN3uWS11HttpContextILb1EE6createEPNS_4LoopE27us_socket_context_options_t]+0x35): undefined reference to `us_create_socket_context'
/usr/bin/ld: HelloWorld.cpp:(.text._ZN3uWS11HttpContextILb1EE6createEPNS_4LoopE27us_socket_context_options_t[_ZN3uWS11HttpContextILb1EE6createEPNS_4LoopE27us_socket_context_options_t]+0x5c): undefined reference to `us_socket_context_ext'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::HttpContext<true>::free()':
HelloWorld.cpp:(.text._ZN3uWS11HttpContextILb1EE4freeEv[_ZN3uWS11HttpContextILb1EE4freeEv]+0x3d): undefined reference to `us_socket_context_free'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::WebSocketContext<true, true>::free()':
HelloWorld.cpp:(.text._ZN3uWS16WebSocketContextILb1ELb1EE4freeEv[_ZN3uWS16WebSocketContextILb1ELb1EE4freeEv]+0x19): undefined reference to `us_socket_context_ext'
/usr/bin/ld: HelloWorld.cpp:(.text._ZN3uWS16WebSocketContextILb1ELb1EE4freeEv[_ZN3uWS16WebSocketContextILb1ELb1EE4freeEv]+0x3a): undefined reference to `us_socket_context_free'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::HttpContext<true>::listen(char const*, int, int)':
HelloWorld.cpp:(.text._ZN3uWS11HttpContextILb1EE6listenEPKcii[_ZN3uWS11HttpContextILb1EE6listenEPKcii]+0x43): undefined reference to `us_socket_context_listen'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::HttpContext<true>::init()::{lambda(us_socket_t*, int, char*, int)#1}::operator()(us_socket_t*, int, char*, int) const':
HelloWorld.cpp:(.text._ZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tiPciE_clES3_iS4_i[_ZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tiPciE_clES3_iS4_i]+0x2d): undefined reference to `us_socket_timeout'
/usr/bin/ld: HelloWorld.cpp:(.text._ZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tiPciE_clES3_iS4_i[_ZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tiPciE_clES3_iS4_i]+0x3e): undefined reference to `us_socket_ext'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::HttpContext<true>::init()::{lambda(us_socket_t*)#2}::operator()(us_socket_t*) const':
HelloWorld.cpp:(.text._ZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tE0_clES3_[_ZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tE0_clES3_]+0x1d): undefined reference to `us_socket_ext'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#3}::operator()(us_socket_t*, char*, int) const':
HelloWorld.cpp:(.text._ZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_i[_ZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_i]+0x4a): undefined reference to `us_socket_is_shut_down'
/usr/bin/ld: HelloWorld.cpp:(.text._ZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_i[_ZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_i]+0x73): undefined reference to `us_socket_ext'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#3}::operator()(us_socket_t*, char*, int) const::{lambda(void*, uWS::HttpRequest*)#1}::operator()({lambda(us_socket_t*, char*, int)#3}, uWS::HttpRequest) const':
HelloWorld.cpp:(.text._ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvPNS_11HttpRequestEE_clES6_S8_[_ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvPNS_11HttpRequestEE_clES6_S8_]+0x2d): undefined reference to `us_socket_timeout'
/usr/bin/ld: HelloWorld.cpp:(.text._ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvPNS_11HttpRequestEE_clES6_S8_[_ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvPNS_11HttpRequestEE_clES6_S8_]+0x3e): undefined reference to `us_socket_ext'
/usr/bin/ld: HelloWorld.cpp:(.text._ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvPNS_11HttpRequestEE_clES6_S8_[_ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvPNS_11HttpRequestEE_clES6_S8_]+0x72): undefined reference to `us_socket_close'
/usr/bin/ld: HelloWorld.cpp:(.text._ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvPNS_11HttpRequestEE_clES6_S8_[_ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvPNS_11HttpRequestEE_clES6_S8_]+0x119): undefined reference to `us_socket_close'
/usr/bin/ld: HelloWorld.cpp:(.text._ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvPNS_11HttpRequestEE_clES6_S8_[_ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvPNS_11HttpRequestEE_clES6_S8_]+0x151): undefined reference to `us_socket_is_closed'
/usr/bin/ld: HelloWorld.cpp:(.text._ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvPNS_11HttpRequestEE_clES6_S8_[_ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvPNS_11HttpRequestEE_clES6_S8_]+0x175): undefined reference to `us_socket_is_shut_down'
/usr/bin/ld: HelloWorld.cpp:(.text._ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvPNS_11HttpRequestEE_clES6_S8_[_ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvPNS_11HttpRequestEE_clES6_S8_]+0x23e): undefined reference to `us_socket_timeout'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#3}::operator()(us_socket_t*, char*, int) const::{lambda(void*, std::basic_string_view<char, std::char_traits<char> >, bool)#2}::operator()({lambda(us_socket_t*, char*, int)#3}, std::char_traits<char>, bool) const':
HelloWorld.cpp:(.text._ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvSt17basic_string_viewIcSt11char_traitsIcEEbE0_clES6_SA_b[_ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvSt17basic_string_viewIcSt11char_traitsIcEEbE0_clES6_SA_b]+0x53): undefined reference to `us_socket_timeout'
/usr/bin/ld: HelloWorld.cpp:(.text._ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvSt17basic_string_viewIcSt11char_traitsIcEEbE0_clES6_SA_b[_ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvSt17basic_string_viewIcSt11char_traitsIcEEbE0_clES6_SA_b]+0x6b): undefined reference to `us_socket_timeout'
/usr/bin/ld: HelloWorld.cpp:(.text._ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvSt17basic_string_viewIcSt11char_traitsIcEEbE0_clES6_SA_b[_ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvSt17basic_string_viewIcSt11char_traitsIcEEbE0_clES6_SA_b]+0xa1): undefined reference to `us_socket_is_closed'
/usr/bin/ld: HelloWorld.cpp:(.text._ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvSt17basic_string_viewIcSt11char_traitsIcEEbE0_clES6_SA_b[_ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvSt17basic_string_viewIcSt11char_traitsIcEEbE0_clES6_SA_b]+0xc2): undefined reference to `us_socket_is_shut_down'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::HttpContext<true>::init()::{lambda(us_socket_t*, char*, int)#3}::operator()(us_socket_t*, char*, int) const::{lambda(void*)#3}::operator()({lambda(us_socket_t*, char*, int)#3}) const':
HelloWorld.cpp:(.text._ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvE1_clES6_[_ZZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tPciE1_clES3_S4_iENKUlPvE1_clES6_]+0x1d): undefined reference to `us_socket_close'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::HttpContext<true>::init()::{lambda(us_socket_t*)#4}::operator()(us_socket_t*) const':
HelloWorld.cpp:(.text._ZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tE2_clES3_[_ZZN3uWS11HttpContextILb1EE4initEvENKUlP11us_socket_tE2_clES3_]+0x4e): undefined reference to `us_socket_timeout'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::HttpContext<true>::init()':
HelloWorld.cpp:(.text._ZN3uWS11HttpContextILb1EE4initEv[_ZN3uWS11HttpContextILb1EE4initEv]+0x34): undefined reference to `us_socket_context_on_open'
/usr/bin/ld: HelloWorld.cpp:(.text._ZN3uWS11HttpContextILb1EE4initEv[_ZN3uWS11HttpContextILb1EE4initEv]+0x5f): undefined reference to `us_socket_context_on_close'
/usr/bin/ld: HelloWorld.cpp:(.text._ZN3uWS11HttpContextILb1EE4initEv[_ZN3uWS11HttpContextILb1EE4initEv]+0x8a): undefined reference to `us_socket_context_on_data'
/usr/bin/ld: HelloWorld.cpp:(.text._ZN3uWS11HttpContextILb1EE4initEv[_ZN3uWS11HttpContextILb1EE4initEv]+0xb5): undefined reference to `us_socket_context_on_writable'
/usr/bin/ld: HelloWorld.cpp:(.text._ZN3uWS11HttpContextILb1EE4initEv[_ZN3uWS11HttpContextILb1EE4initEv]+0xe0): undefined reference to `us_socket_context_on_end'
/usr/bin/ld: HelloWorld.cpp:(.text._ZN3uWS11HttpContextILb1EE4initEv[_ZN3uWS11HttpContextILb1EE4initEv]+0x10b): undefined reference to `us_socket_context_on_timeout'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::HttpContext<true>::getSocketContextData()':
HelloWorld.cpp:(.text._ZN3uWS11HttpContextILb1EE20getSocketContextDataEv[_ZN3uWS11HttpContextILb1EE20getSocketContextDataEv]+0x21): undefined reference to `us_socket_context_ext'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::AsyncSocket<true>::write(char const*, int, bool, int)':
HelloWorld.cpp:(.text._ZN3uWS11AsyncSocketILb1EE5writeEPKcibi[_ZN3uWS11AsyncSocketILb1EE5writeEPKcibi]+0x41): undefined reference to `us_socket_is_closed'
/usr/bin/ld: HelloWorld.cpp:(.text._ZN3uWS11AsyncSocketILb1EE5writeEPKcibi[_ZN3uWS11AsyncSocketILb1EE5writeEPKcibi]+0xfb): undefined reference to `us_socket_write'
/usr/bin/ld: HelloWorld.cpp:(.text._ZN3uWS11AsyncSocketILb1EE5writeEPKcibi[_ZN3uWS11AsyncSocketILb1EE5writeEPKcibi]+0x398): undefined reference to `us_socket_write'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::AsyncSocket<true>::timeout(unsigned int)':
HelloWorld.cpp:(.text._ZN3uWS11AsyncSocketILb1EE7timeoutEj[_ZN3uWS11AsyncSocketILb1EE7timeoutEj]+0x1f): undefined reference to `us_socket_timeout'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::HttpContext<true>::getSocketContextDataS(us_socket_t*)':
HelloWorld.cpp:(.text._ZN3uWS11HttpContextILb1EE21getSocketContextDataSEP11us_socket_t[_ZN3uWS11HttpContextILb1EE21getSocketContextDataSEP11us_socket_t]+0x21): undefined reference to `us_socket_context_ext'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::AsyncSocket<true>::getAsyncSocketData()':
HelloWorld.cpp:(.text._ZN3uWS11AsyncSocketILb1EE18getAsyncSocketDataEv[_ZN3uWS11AsyncSocketILb1EE18getAsyncSocketDataEv]+0x19): undefined reference to `us_socket_ext'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::AsyncSocket<true>::close()':
HelloWorld.cpp:(.text._ZN3uWS11AsyncSocketILb1EE5closeEv[_ZN3uWS11AsyncSocketILb1EE5closeEv]+0x19): undefined reference to `us_socket_close'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::AsyncSocket<true>::getLoopData()':
HelloWorld.cpp:(.text._ZN3uWS11AsyncSocketILb1EE11getLoopDataEv[_ZN3uWS11AsyncSocketILb1EE11getLoopDataEv]+0x19): undefined reference to `us_socket_context'
/usr/bin/ld: HelloWorld.cpp:(.text._ZN3uWS11AsyncSocketILb1EE11getLoopDataEv[_ZN3uWS11AsyncSocketILb1EE11getLoopDataEv]+0x26): undefined reference to `us_socket_context_loop'
/usr/bin/ld: HelloWorld.cpp:(.text._ZN3uWS11AsyncSocketILb1EE11getLoopDataEv[_ZN3uWS11AsyncSocketILb1EE11getLoopDataEv]+0x2e): undefined reference to `us_loop_ext'
/usr/bin/ld: /tmp/cc9xj428.o: in function `uWS::HttpContext<true>::getSocketContext(us_socket_t*)':
HelloWorld.cpp:(.text._ZN3uWS11HttpContextILb1EE16getSocketContextEP11us_socket_t[_ZN3uWS11HttpContextILb1EE16getSocketContextEP11us_socket_t]+0x19): undefined reference to `us_socket_context'
collect2: error: ld returned 1 exit status

а как понять, какую либу ему надо?
гитхаб uSockets говорит про make, и make создаёт бинарники из examples/
я сделал ldd на бинарниках:
авторuWebSockets/uSockets$ ldd echo_server
linux-vdso.so.1 (0x00007ffd5b3e3000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa676fc7000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa6771bd000)
это же вроде стандартные либы?
ещё make создаёт несколько .o-файлов в дире uWebSockets/uSockets
но с вопросом про либу они не помогают...
ещё есть uSockets.a, uSockets.vcxproj
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39958523
a guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
полудух
а как понять, какую либу ему надо?
гитхаб uSockets говорит про make, и make создаёт бинарники из examples/
… но в Makefile посмотреть тебе религия запрещает.
(Скорее всего, при вызове `make examples` видно, как вызывается компилятор, но зачем это смотреть, когда можно зафигачить темку на SQL.ru)
полудух
ещё есть uSockets.a
Это и есть либа. В ридми даже написано, что либа будет статическая.
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39958611
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух

Почему эта либа? Делали выбор/сравнение с другими?
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39958632
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a guest
полудух
а как понять, какую либу ему надо?
гитхаб uSockets говорит про make, и make создаёт бинарники из examples/
… но в Makefile посмотреть тебе религия запрещает.

учусь ;)
(Скорее всего, при вызове `make examples` видно, как вызывается компилятор, но зачем это смотреть, когда можно зафигачить темку на SQL.ru)
форумы для этого и нужны ващет.
полудух
ещё есть uSockets.a
Это и есть либа. В ридми даже написано, что либа будет статическая.
спасибо.
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39958633
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_k
полудух

Почему эта либа? Делали выбор/сравнение с другими?

конкретно uSockets нужен для uWebSockets
а uWebSockets, потому что да, хвалят
бенчмарки тут есть (правда это самого создателя бенчмарки)
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39958634
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
del
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39958652
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня получилось собрать пакован либ без варнингов.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
/uSockets$ make
rm -f *.o
cc -DLIBUS_NO_SSL -std=c11 -Isrc -flto -O3 -c src/*.c src/eventing/*.c src/crypto/*.c
ar rvs uSockets.a *.o
ar: creating uSockets.a
a - context.o
a - epoll_kqueue.o
a - gcd.o
a - libuv.o
a - loop.o
a - openssl.o
a - socket.o
a - wolfssl.o



Что еще посмотреть?
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39958669
Фотография OoCc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух
при попытке скомпилировать
Код: sql
1.
g++ HelloWorld.cpp -I/usr/local/include/uSockets



И где твоя uSokets.a либа подключается?
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39958735
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да вроде уже разобрался с компиляцией...
теперь вопрос в другом: там походу сам цикл жёстко вшит внутрь?
а если мне нужно, чтобы демон делал всякое на заднем плане, пока слушает запросы, такое нельзя чтоли?
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39958741
a guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
полудух
а если мне нужно, чтобы демон делал всякое на заднем плане, пока слушает запросы, такое нельзя чтоли?
Делаешь работу в другом треде и сигналишь в event loop по окончании работы .
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39958820
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух
да вроде уже разобрался с компиляцией...
теперь вопрос в другом: там походу сам цикл жёстко вшит внутрь?
а если мне нужно, чтобы демон делал всякое на заднем плане, пока слушает запросы, такое нельзя чтоли?
сделать отдельно Сервер. Или код сервера.
И запускай их сколько угодно без изменения кода.
Любой сервер и работает в фоне.
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39960548
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
полудух
да вроде уже разобрался с компиляцией...
теперь вопрос в другом: там походу сам цикл жёстко вшит внутрь?
а если мне нужно, чтобы демон делал всякое на заднем плане, пока слушает запросы, такое нельзя чтоли?
сделать отдельно Сервер. Или код сервера.
И запускай их сколько угодно без изменения кода.
Любой сервер и работает в фоне.

любой сервер (демон) работает в цикле
а тут цикл уже есть походу где-то внутрях uWS::App()
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39960601
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух,
То что цикл уже есть, разве запрещает сделать еще 10 внутри отдельного модуля либы?
Либо я не понял вашего поста.
Я имел ввиду оформить ваш код как код сервера который слушает одного клиента. Либо кучу клиентов.
То есть приближать ваш код к Стандарту.
Имхо
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39960781
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё 10 - это только в отдельных тредах разве что, как выше советовали...
сервер не слушает клиента
он открывает порт и слушает его (в цикле)
а на порт заходят все желающие клиенты
что за код стандарта?
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39986432
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А тут есть кто с ним работает плотненько? Надо помочь с настройками. Можно и платно.
Времени нет это всё самому разгребать. 2 месяца вообще не подходил к нему.
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39986467
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух,

>>что за код стандарта?
=== стандартно, это не пытаться объять необъятное и писать все подряд. Ведь веб сервер это не логгер написать.
Как вариант взять nginx +FastCGI.
Имхо.
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39986505
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зачем мне писать HTTP-сервер? Он же уже написан!
uWS на себя всё берёт
Nginx + fcgi я и взял, но вообще-то fcgi довольно устаревшая технология, HTTP лучше
а про uWS вообще заявляют, что Nginx рвёт
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39986524
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух,
Написан. Но ты же просишь сконфигурировать?
Значит слишком низкоуровнево написан.
Во втором варианте легче настраивать)) и дешевле сопровождать.
Так что выбирай что важнее Скорость или Удобство.
В архитектуре есть понятие "оверхед"
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39986895
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да вроде нормально написан
просто доков мало, не всё понятно
или опыта мало
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39986898
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Во втором варианте легче настраивать)

смотрю вот я сюда , например, и не вижу, где взять env* со всеми параметрами, где куки, сессии и всё остальное...
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39986967
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух
да вроде нормально написан
просто доков мало, не всё понятно
или опыта мало
ну дак надо посмотреть готовый веб сервер. Иначе как писать собирая его из кусочков API?
В Java их штук 5, в шарпе 2, в дельфи и плюсах нету.
Сессию веб сервер назначает новому клиенту автоматом. И пишет абстрактное число в сессионную куку на клиента.
За временем жизни следит сам. И очищает память как сессия протухнес тоже сам.
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39986970
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух
PetroNotC Sharp
Во втором варианте легче настраивать)

смотрю вот я сюда , например, и не вижу, где взять env* со всеми параметрами, где куки, сессии и всё остальное...
опиши конкретнее а не одной фразой что именно надо.
В общем случае, с нормальным веб сервером, тебе не нужны куки и сессия. Все параметры default.
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39987199
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
ну дак надо посмотреть готовый веб сервер. Иначе как писать собирая его из кусочков API?

а uWebSockets не готовый?
PetroNotC Sharp
опиши конкретнее а не одной фразой что именно надо.

параметры
HTTP_ACCEPT
HTTP_USER_AGENT
HTTP_REFERER
REMOTE_ADDR
итд
PetroNotC Sharp
В общем случае, с нормальным веб сервером, тебе не нужны куки и сессия. Все параметры default.

какой дефолт? мне кука юзера нужна, чтобы знать чего он хочет.
где работа с куками то
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39987203
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух,
>какой дефолт? мне кука юзера нужна, чтобы знать чего он хочет.
Давай попорядку и начнем с _бизнес задачи_.
- куку юзвера может прочитать то веб приложение которое ее туда записало на длительное хранение.
То есть твое приложение при запросе страницы юзверя ЗАПИСАЛО ЕМУ на клиента в куку параметер
Param1=12345
При повторном запросе ты можешь это прочитать.
Но, более правильно писать все что он хочет в урле
sql.ryu/app/nnn?param1=123456
...
Это и есть default веб практика поведения.
Это работает?
Или ты в куки уперся?
...
Рейтинг: 0 / 0
uWebSockets - как узнать, какая либа ему нужна?
    #39987204
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух,

>а uWebSockets не готовый?
Нет. Это либа. Конструктор.
...
Рейтинг: 0 / 0
25 сообщений из 36, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / uWebSockets - как узнать, какая либа ему нужна?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]